1、2018/4/25,1,第六讲 Matlab图像处理介绍,通信与信息工程学院20092010 冬季学期,2018/4/25,2,Matlab 图像处理工具箱Image Processing Toolbox提高图像质量,使模糊的图像变得清晰;提取图像的有效特征,以便进行模式识别;通过图像变换和有效编码来压缩其频带或数据,以便传输或存储。,2018/4/25,3,一、图像处理工具箱函数,包含一百余个函数,按其内容划分为以下几类:、图像显示函数;、图像文件输入、输出函数;、图像几何操作函数;、图像像素值及统计函数;、图像分析函数;、图像增强函数;、线性滤波函数;,2018/4/25,4,、二维线性滤
2、波器设计函数;、图像变换函数;、图像邻域及块操作函数;、二值图像操作函数;、基于区域的图像处理函数;、颜色图操作函数;、颜色空间转换函数;、图像类型和类型转换函数。,一、图像处理工具箱函数(cont.),2018/4/25,5,分别为:真彩色图像(RGB images);索引色图像(index images) ;灰度图像(intensity images) ;二值图像(binary images) 。 由于有的函数对图像类型有限制,这四种类型可以用工具箱的类型转换函数相互转换。,二、工具箱支持的图像类型,2018/4/25,6,Matlab 可操作的图像文件,包括:BMPHDFJPEG,PCX
3、TIFFXWD,2018/4/25,7,三、常用图像操作,图像的读写与显示操作:用imread( )读取图像,imwrite( )输出图像。图像显示于屏幕:imshow( ) 。图像进行裁剪:imcrop( )。图像的插值缩放:imresize( )。图像的旋转:imrotate( ) 。,2018/4/25,8,四、图像增强功能,图像增强是数字图像处理过程中常用的一种方法,目的是采用一系列技术去改善图像的视觉效果或将图像转换成一种更适合于人眼观察和机器自动分析的形式 。,2018/4/25,9,灰度直方图均衡化。 灰度变换法。平滑与锐化滤波。,图像增强方法,2018/4/25,10,1、灰度
4、直方图均衡化,均匀量化的自然图像的灰度直方图通常在低灰度区间上频率较大,使得图像中较暗区域中的细节看不清楚,采用直方图修整可使原图像灰度集中的区域拉开或使灰度分布均匀,从而增大反差,使图像的细节清晰,达到增强目的。直方图均衡化可用histeq( )函数实现。,2018/4/25,11,2、灰度变换法,照片或电子方法得到的图像,常表现出低对比度即整个图像偏亮或偏暗,为此需要对图像中的每一像素的灰度级进行灰度变换,扩大图像灰度范围,以达到改善图像质量的目的。这一灰度调整过程可用imadjust( )函数实现。,2018/4/25,12,3、平滑滤波,平滑技术用于平滑图像中的噪声,基本采用在空间域上
5、的求平均值或中值。或在频域上采取低通滤波,因在灰度连续变化的图像中,我们通常认为与相邻像素灰度相差很大的突变点为噪声点,灰度突变代表了一种高频分量,低通滤波则可以削弱图像的高频成分,平滑了图像信号,但也可能使图像目标区域的边界变得模糊。,2018/4/25,13,4、锐化滤波,而锐化技术采用的是频域上的高通滤波方法,通过增强高频成分减少图像中的模糊,特别是模糊的边缘部分得到了增强,但同时也放大了图像的噪声。在Matlab 中,各种滤波方法都是在空间域中通过不同的卷积模板即滤波算子实现,可用fspecial( )函数创建预定义的滤波算子,然后用filter2( )或conv2( )函数在实现卷积
6、运算的基础上进行滤波。,2018/4/25,14,五、图像边缘检测和图像分割功能,边缘检测是一种重要的区域处理方法,边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。如果一个像素落在边界上,那么它的邻域将成为一个灰度级变化的带。对这种变化最有用的两个特征是灰度的变化率和方向。,2018/4/25,15,五、图像边缘检测和图像分割功能(cont.),边缘检测算子可以检查每个像素的邻域并对灰度变化率进行量化,也包括对方向的确定,其中大多数是基于方向导数掩模求卷积的方法。Matlab工具箱提供的edge( )函数可针对sobel 算子、prewitt 算子、roberts算子、l
7、og 算子和canny 算子实现检测边缘的功能。基于灰度的图像分割方法也可以用简单的Matlab代码实现。,2018/4/25,16,六、图像变换功能,图像变换技术是图像处理的重要工具,常运用于图像压缩、滤波、编码和后续的特征抽取或信息分析过程。Matlab 工具箱提供了常用的变换函数,如fft2( )与ifft2( )函数分别实现二维快速傅立叶变换与其逆变换,dct2( )与idct2( )函数实现二维离散余弦变换与其逆变换。Matlab 还提供了如二值图像的膨胀运算dilate( )函数、腐蚀运算erode( )函数等基于数学形态学与二值图像的操作函数。,2018/4/25,17,七、 M
8、atlab图像处理工具箱运用实例,为了说明Matlab 语言是一种简洁,可读性较强的高效率编程软件,通过运用图像处理工具箱中的有关函数,对图“board.tif”为一幅电路板的原图像进行处理。该图像右边的剪切图像为从“board.tif”中剪切出的将用于分析的子图像块。为了便于分析与观察,把子图像块旋转180 度置于水平位置并把该图存在名为“board_new.bmp” 的图像文件中。,2018/4/25,18,1、图像读取、显示、截取、旋转、写入,x=imread(board.tif);imshow(x);y=imcrop(x);figure,imshow(y);z=imrotate(y,1
9、80);figure,imshow(z);imwrite(z, board_new.bmp, bmp);isrgb(z),2018/4/25,19,截取,旋转180度,1、图像读取、显示、截取、旋转、写入(cont.),2018/4/25,20,2、对灰度图进行直方图均衡化处理,先判断看所给图像是否为一真彩色图像?是,将其转换为灰度图像,以下所有的进一步处理均采用经过灰度化处理后的图像作为原图。对灰度图进行直方图均衡化处理。通过比较灰度原图和经均衡化后的图形可见图像变得清晰,均衡化后的直方图形状比原直方图的形状更理想。,2018/4/25,21,2、对灰度图进行直方图均衡化处理(cont.),
10、m=imread(board_new.bmp);n=rgb2gray(m);imshow(n);figure,imhist(n);I=histeq(n);figure,imshow(I);figure,imhist(I);,2018/4/25,22,“board_new.bmp”的灰度化图像(原图),均衡化前直方图,2、对灰度图进行直方图均衡化处理(cont.),2018/4/25,23,经直方图均衡化后的图像,均衡化后直方图,2、对灰度图进行直方图均衡化处理(cont.),2018/4/25,24,3、灰度图像平滑与锐化处理,灰度图像平滑与锐化处理。 Matlab 图像工具箱中有多种平滑与锐
11、化滤波函数,也可以自定义滤波算子。在此我们采用可根据图像的局部方差来调整滤波器输出的自适应滤波对图像进行平滑,及采用拉氏算子运算使图像的模糊部分得到增强。,2018/4/25,25,3、灰度图像平滑与锐化处理(cont.),x=imread(board_new.bmp);x=rgb2gray(x);x=double(x);p=wiener2(x);imshow(p, );h=0 1 0;1 -4 1;0 1 0;q= conv2(x,h, same);r= x - q ;figure,imshow(r, ) ;,2018/4/25,26,采用自适应滤波平滑,利用拉氏算子卷积锐化,3、灰度图像平滑与锐化处理(cont.),“board_new.bmp”的灰度化图像(原图),2018/4/25,27,小 结,能够熟练掌握通用工具箱函数的用法掌握并应用matlab图像处理工具箱函数进行简单的图像处理,