当前位置:文档之家› 数字图像处理实验指导书

数字图像处理实验指导书

实验一 Matlab图像处理工具箱的初步练习一、实验目的和任务1、初步了解与掌握MA TLAB语言的基本用法;2、掌握MA TLAB语言中图象数据与信息的读取方法;3、掌握在MA TLAB语言中图像类型的转换。

二、实验仪器、设备及材料1、计算机2、MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox)3、实验所需要的图片三、实验原理将数字图像的RGB表示转换为YUV表示;Y=0.30R+0.59G+0.11BU=0.70R-0.59G-0.11BV=-0.30R-0.59G+0.89B四、实验步骤1、阅读资料并熟悉MatLab的基本操作2、读取MATLAB中的图象数据3、显示MATLAB中的图象文件。

用MATLAB在自建的文件夹中建立m文件,在这个文件的程序中,将MA TLAB目录下work文件夹中的tree.tif 图象文件读出,用到imread,imfinfo等命令,观察一下图象数据,了解一下数字图象在MA TLAB中的处理就是处理一个矩阵的本质。

4、将3中的图象显示出来(用imshow)。

5、对MA TLAB目录下work文件夹中的flowers.tif进行真彩色图像、索引色图像、灰度图像、二值图像之间的相互变换,并显示。

6、进行真彩色图像RGB(lenacolor.jpg)、YIQ图像、HSV图像、YcbCr图像的相互转换,并显示。

五、实验报告要求1、描述实验的基本步骤;2、用图片给出步骤4、5、6中取得的实验结果;六、实验所需图片lenacolor.jpg七、实验注意事项1、学生应提前预习2、请大家在E盘建一个目录(matlab),在每次启动时都要将这个目录加入到MATLAB的搜索路径中,添加的方法为File----Set Path----Tool---Add Path八、思考题1、图像之间转换的基础是什么,为什么可以实现相互的转换九、附录MATLAB简介 (1)MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。

实际上MATLAB中的绝大多数的运算都是通过矩阵这一形式进行的。

这一特点也就决定了MA TLAB在处理数字图像上的独特优势。

理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。

二维图像进行均匀采样,就可以得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。

而MATLAB的长处就是处理矩阵运算,因此用MA TLAB处理数字图像非常的方便。

MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像文件格式的读,写和显示。

MATLAB对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。

图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。

1、MATLAB中图象数据的读取A、imreadimread函数用于读入各种图象文件,其一般的用法为[X,MAP]=imread(‘filename’,‘fmt’)其中,X,MAP分别为读出的图象数据和颜色表数据,fmt为图象的格式,filename为读取的图象文件(可以加上文件的路径)。

例:[X,MAP]=imread(’flowers.tif’,’tif’);B、imwriteimwrite函数用于输出图象,其语法格式为:imwrite(X,map,filename,fmt)imwrite(X,map,filename,fmt)按照fmt指定的格式将图象数据矩阵X和调色板map写入文件filename。

C、imfinfoimfinfo函数用于读取图象文件的有关信息,其语法格式为imfinfo(filename,fmt)imfinfo函数返回一个结构info,它反映了该图象的各方面信息,其主要数据包括:文件名(路径)、文件格式、文件格式版本号、文件的修改时间、文件的大小、文件的长度、文件的宽度、每个像素的位数、图象的类型等。

例:imfinfo('rice.tif')2、MATLAB中图象文件的显示imshowimshow函数是最常用的显示各种图象的函数,其语法如下:imshow(X,map)其中X是图象数据矩阵,map是其对应的颜色矩阵,若进行图象处理后不知道图象数据的值域可以用[]代替map。

需要显示多幅图象时,可以使用figure语句,它的功能就是重新打开一个图象显示窗口。

例:I=imread(‘rice.tif’);Imshow(I);J=imread(‘flowers.tif’);figure,imshow(J);3、其它命令有rgb2gray 将RGB图像转换成灰度图像ind2gray 将索引色图像转换成灰度图像rgb2ind 将RGB图像转换成索引色图像ind2rgb 将索引色图像转换成RGB图像im2bw 将图像转换成黑白图像实验二 图像的空域处理方法一、实验目的和任务1、 掌握在MA TLAB 中绘制灰度直方图的方法,了解灰度直方图的均衡化的方法;2、 了解图象滤波的基本定义及目的;3、 了解空域滤波的基本原理及方法;4、 掌握用MA TLAB 语言进行图象的空域滤波的方法。

二、实验仪器、设备及材料1、 计算机2、 MatLab 软件/语言包括图像处理工具箱(Image Processing Toolbox)3、 实验所需要的图片三、实验原理1、 灰度变换是对一幅图象的灰度级进行变换,B(x,y)=f[A(x,y)]2、 用均值滤波器去除图像中的噪声;3、 用中值滤波器去除图像中的噪声;四、实验步骤1、 运行matlab -help —demos —toolboxes —image processing —Intensity Adjustment and Histogram, 做灰度变换和直方图变换,进一步了解变换的原因;2、 读出men.bmp 这幅图像,显示它的图象及灰度直方图,可以发现其灰度值集中在一段区域,用imadjust 函数将它的灰度值调整到[0,1]之间,并观察调整后的图象与原图象的差别,调整后的灰度直方图与原灰度直方图的区别。

3、 运行matlab -help —demos —toolboxes —image processing —Noise Reduction filter, 进一步理解空域滤波的原理;4、 读出lena.bmp 这幅图像,给这幅图像加入椒盐噪声5、 用均值滤波器去除图像中的噪声;6、 用中值滤波器去除图像中的噪声;7、 比较两种方法的处理结果。

五、实验报告要求∑+-∈+-∈+=],[],[2000000),(141),(N y N y y N x N x x y x f N y x f ]},[],,[|),({),(000000N y N y y N x N x x y x f Med y x f +-∈+-∈=1、描述实验的基本步骤;2、用数据和图片给出步骤2、4、5、6中取得的实验结果并进行必要的讨论;取得的实验结果并进行必要的讨论实验报告必须包括原始图像及其处理后的图像,注意对比各种增强方法对于不同图像处理的效果。

六、实验所需图片men.bmp Lenna.bmp七、实验注意事项1、学生应提前预习2、由于实验室的管理规定所有的程序不能存在C盘和D盘,因此请大家在E盘建一个目录(matlab),在每次启动时都要将这个目录加入到MATLAB的搜索路径中,添加的方法为File----Set Path----Tool---Add Path八、思考题1、小结一下本实验所用的增强方法2、比较一下均值滤波和中值滤波处理的效果并指出其中异同九、附录MATLAB简介 (3)本实验中需要了解/使用的函数1.MATLAB中灰度直方图的显示MATLAB图象处理工具箱提供了imhist函数来计算和显示图象的直方图,imhist函数的语法格式为:imhist(I,n)imhist(X,map)其中imhist(I,n)计算和显示灰度图象I的直方图,n为指定的灰度级数目,默认值为256。

imhist(X,map)计算和显示索引色图象X的直方图,map为调色板。

例:I = imread('rice.tif');imshow(I)figure, imhist(I)2.对比度增强如果原图象f(x,y)的灰度范围是[m,M],我们希望调整后的图象g(x,y)的灰度范围是[n,N],那么下述变换,,就可以实现这一要求。

MATLAB图象处理工具箱中提供的imadjust函数,可以实现上述的线性变换对比度增强。

Imadjust函数的语法格式为:J = imadjust(I,[low_in high_in],[low_out high_out])J = imadjust(I,[low_in high_in],[low_out high_out])返回图象I经过直方图调整后的图象J,[low_in high_in]为原图象中要变换的灰度范围,[low_out high_out]指定了变换后的灰度范围。

例:I = imread('pout.tif');J = imadjust(I,[0.3 0.7],[]);imshow(I), figure, imshow(J)3.均值滤波均值滤波是在空间域对图象进行平滑处理的一种方法,易于实现,效果也挺好。

均值滤波的算法是由某像素领域内各点灰度值的平均值来代替该像素原来的灰度值。

可用模块反映领域平均算法的特征。

对于四点领域和八点领域,可分别由下述摸板表征:模版沿水平和垂直两个方向逐点移动,相当于用这样一个模块与图像进行卷积运算,从而平滑了整幅图象。

模版内各系数和为1,用这样的模版处理常数图象时,图像没有变化;对一般图象处理后,整幅图像灰度的平均值可不变。

4.中值滤波中值滤波是一种非线性处理技术,能抑制图象中的噪声。

它是基于图象的这样一种特性:噪声往往以孤立的点的形式出现,这些点对应的象素很少,而图象则是由像素数较多、面积较大的小块构成。

在一维的情况下,中值滤波器是一个含有奇数个像素的窗口。

在处理之后,位于窗口正中的像素的灰度值,用窗口内各像素灰度值的中值代替。

相关主题