资源预览内容
第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
第9页 / 共22页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,图像处理的MATLAB实现,2,一、读取图像 使用函数imread可以将图像读入MATLAB 环境,其语法格式为: imread(filename) 其中,filename是一个含有图像文件全名的字 符串。,常用图像操作,3,当filename中不包含任何路径信息时,imread会从当前目录中寻找并读取图像文件。要想读取指定路径中的图像,最简单的办法就是在filename中输入完整的路径。 例如, I=imread(D:myimageslena.bmp); 从驱动器D上名为myimages的文件夹中读 取图像文件lena.bmp。 对于索引色图像,读取格式为: X,map=imread(filename),常用图像操作,4,二、图像显示 imshow是最常用的显示图像的函数,有以 下几种格式: imshow(I,n) 用于显示灰度图像,n为灰度级数目,默认值为 256。在很多情况下,经过处理的图像数据的值域都 会发生变化。比如对一幅double类型的灰度图像滤波 后,图像数据的值域已不在0,1中了,如果还用前 面的显示方法,则得不到正确的结果。,常用图像操作,5,如果清楚地知道数据的值域low high,可以使用命令 imshow(I,low high)。否则可用空向量为参数,即 imshow(I, )。 imshow(BW) 用于显示二值图像。 imshow(RGB) 用于显示真彩色图像。 imshow(X,map) 用于显示索引色图像。,常用图像操作,6,绘制直方图最简单的方法是使用未指定输 出的函数imhist。 例:绘制一幅灰度图像的直方图。 imhist(I),直方图的绘制,7,直方图均衡化,MATLAB图像处理工具箱提供了用于直方图 均衡化的函数histeq,其格式为: J=histeq(I,n) 其中,I为输入图像,n为输出图像指定的灰度级 数,n的默认值为64。,8,添加噪声,MATLAB图像处理工具箱提供了模拟噪声生 成的函数imnoise,它可以对图像添加一些典型的 噪声,其格式为: (1)g=imnoise(f,gaussian,m,var) 将均值为m、方差为var的高斯噪声加到图像 f上。默认值为均值是0,方差是0.01的噪声。 (2)g=imnoise(f,salt & pepper,d) 将噪声密度为d(即包含噪声值的图像区域的 百分比)的椒盐噪声加到图像f上。默认的噪声密 度为0.05。,9,添加噪声,(3)g=imnoise(f,speckle,var) 用方程 g = f + nf 将乘性噪声添加到图像f 上,其中n是均值为0、方差为var的均匀分布的随 机噪声。var的默认值为0.04。 例:对下面的图像eight.tif分别加入高斯噪声、椒 盐噪声和乘性噪声。,10,添加噪声, I=imread(rice.tif); J1=imnoise(I,gaussian,0,0.02); J2=imnoise(I,salt subplot(2,2,1),imshow(I) subplot(2,2,2),imshow(J1) subplot(2,2,3),imshow(J2) subplot(2,2,4),imshow(J3),11,空间域平滑均值滤波,MATLAB图像处理工具箱提供了基于卷积的 图像滤波函数filter2,其格式为: B=filter2(h,A,full) 其中,A为输入图像,h为滤波算子,full表示滤 波后的图像与原图像A的大小相同。,12,空间域平滑均值滤波,最典型的 S 为33邻域,这时均值滤波的模 板为:,这样,将模板在待处理图像中逐点滑动,与图像 相卷积,就可得到整幅图像的平滑。,13,空间域平滑均值滤波,例:对一幅灰度图像 lena.bmp 添加高斯噪声, 并进行均值滤波。(滤波模板大小为33) I=imread(lena.bmp); subplot(1,3,1),imshow(I) title(原始图像) J=imnoise(I,gaussian,0,0.02); subplot(1,3,2),imshow(J) title(加噪图像),14,空间域平滑均值滤波, I=imread(lena.bmp); h=1 1 1;1 1 1;1 1 1; h=h/9; % 产生33的均值滤波模板 J1=filter2(h,J,same); % 用均值模板对图像J滤波 subplot(1,3,3),imshow(J1,) title(均值滤波结果),15,空间域平滑中值滤波,MATLAB图像处理工具箱提供了用于实现中 值滤波的函数medfilt2,其格式为: B=medfilt2(A,m n) 用大小为mn的窗口对图像A进行中值滤波,窗 口大小的默认值为33。,16,空间域平滑中值滤波,例:对一幅灰度图像 lena.bmp 添加椒盐噪声, 并进行中值滤波。(滤波窗口大小为33) I=imread(lena.bmp); subplot(1,3,1),imshow(I) title(原始图像) J=imnoise(I,salt % 用33的滤波窗口对图像J进行中值滤波 subplot(1,3,3),imshow(J1) title(中值滤波结果),17,实验一 空域图像增强,一、实验目的 (1)掌握基本的空域图像增强方法,观察图像 增强的效果,加深理解; (2)了解空域平滑模板的特性及其对不同噪声 的影响; (3)了解空域锐化模板的特性及其对边缘的影 响。,18,实验一 空域图像增强,二、实验内容 (1)直方图处理:直方图均衡 (2)空域平滑:均值滤波、中值滤波; 三、实验要求 (1)用matlab语言进行仿真实验; (2)递交实验报告,要求给出实验原理、源程序、 实验结果及分析。,19,实验一 空域图像增强,四、实验图像,lena.bmp,house.tif,pollen.png,20,实验一 空域图像增强,五、具体实验内容及要求 1. 直方图均衡实验内容 (1)读入原图像pollen.png并显示原图像以及直方图 (2)对原图像进行直方图均衡处理 (3)显示均衡后图像以及直方图。,要求: 分析直方图能够改善视觉效果的原因,21,实验一 空域图像增强,五、具体实验内容及要求 2. 空域平滑实验内容 (1)读入原图像lena.bmp并显示; (2)对原图像分别添加高斯噪声和椒盐噪声,并显示 加噪图像; (3)采用均值滤波进行去噪处理,并显示去噪图像; (4)采用中值滤波进行去噪处理,并显示去噪图像。,22,实验一 空域图像增强,要求: (1)观察模板大小(窗口尺寸)对图像去噪效果的影 响(选用33、55、77)。 (2)观察均值滤波和中值滤波对不同噪声的滤除效果,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号