二○一四~二○一五学年第一学期电子信息工程系实验报告书班级:电子信息工程(DB)1102班姓名学号:课程名称:数字图像处理二○一四年十一月一日实验一图像直方图处理及灰度变换(2学时)实验目的:1. 掌握读、写、显示图像的基本方法。
2. 掌握图像直方图的概念、计算方法以及直方图归一化、均衡化方法。
3. 掌握图像灰度变换的基本方法,理解灰度变换对图像外观的改善效果。
实验内容:1. 读入一幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。
2. 完成灰度图像的直方图计算、直方图归一化、直方图均衡化等操作。
3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(二值化)等,分别使用不同参数观察灰度变换效果(对灰度直方图的影响)。
实验步骤:1. 将图片转换为灰度图片,进行直方图均衡,并统计图像的直方图:I1=imread('pic.jpg'); %读取图像I2=rgb2gray(I1); %将彩色图变成灰度图subplot(3,2,1);imshow(I1);title('原图');subplot(3,2,3);imshow(I2);title('灰度图');subplot(3,2,4);imhist(I2); %统计直方图title('统计直方图');subplot(3,2,5);J=histeq(I2); %直方图均衡imshow(J);title('直方图均衡');subplot(3,2,6);imhist(J);title('统计直方图');原图灰度图0100020003000统计直方图100200直方图均衡0统计直方图100200仿真分析:将灰度图直方图均衡后,从图形上反映出细节更加丰富,图像动态范围增大,深色的地方颜色更深,浅色的地方颜色更前,对比更鲜明。
从直方图上反应,暗部到亮部像素分布更加均匀。
2. 将图片进行阈值变换和灰度调整,并统计图像的直方图: I1=imread('rice.png');I2=im2bw(I1,0.5); %选取阈值为0.5I3=imadjust(I1,[0.3 0.9],[]); %设置灰度为0.3-0.9 subplot(3,2,1);imshow(I1); title('原图'); subplot(3,2,3);imshow(I2); title('阈值变换'); subplot(3,2,5);imshow(I3); title('灰度调整'); subplot(3,2,2);imhist(I1); title('统计直方图'); subplot(3,2,4);imhist(I2); title('统计直方图'); subplot(3,2,6);imhist(I3); title('统计直方图');原图阈值变换灰度调整统计直方图10020004统计直方图1010002000统计直方图100200仿真分析:进行阈值变换后,图像上只有“黑”和“白”两种颜色,原图中颜色过渡的细节没有了,但是亮部和暗部之间的对比更加强烈了;从直方图上可以看到像素集中“黑”与“白”两个部分,而两者之间是没有像素的。
进行灰度调整后,无论从图像上反映还是从值方图上反映,都能看出像素的亮度整体上有所改变。
3.对图像进行伽马变换: I=imread('coffee.jpg'); J=im2double(I);H1=power(J+10.^(-100),0.4); %进行伽马值为0.4的伽马变换 H2=power(J+10.^(-100),0.6); %进行伽马值为0.6的伽马变换 H3=power(J+10.^(-100),0.8); %进行伽马值为0.8的伽马变换 H4=power(J,2); %进行伽马值为3的伽马变换 H5=power(J,3); %进行伽马值为4的伽马变换 H6=power(J,4); %进行伽马值为5的伽马变换 figure(1)subplot(2,2,1)imshow(I); title('原图');subplot(2,2,2)imshow(H1); title('伽马值0.4');subplot(2,2,3)imshow(H2); title('伽马值0.6');subplot(2,2,4)imshow(H3); title('伽马值0.8');figure(2)subplot(2,2,1)imshow(I); title('原图');subplot(2,2,2)imshow(H4); title('伽马值2');subplot(2,2,3)imshow(H5); title('伽马值3');subplot(2,2,4)imshow(H6); title('伽马值4');原图伽马值0.4伽马值0.6伽马值0.8伽马值2伽马值3伽马值4仿真分析:该图片为亮图片,而伽马值小于1时会增加图片亮度,伽马值大于1时会降低图片亮度,对亮图片使用伽马值大于1的效果明显更好,从实际仿真效果来看,当伽马值过大时会导致整个图片亮度严重下降,图片细节有所丢失,此幅图最适合伽马值为2左右的伽马变换。
实验总结:此次实验是第一次进行“数字图像处理”的实验,由于较长一段时间没有使用MATLAB,导致在实验开始时操作比较生疏,再加上对数字图像处理的相关代码不够熟练,整个实验做得比较慢。
总体而言,本次的实验内容比较简单,通过一系列基本的命令实现了由彩色图像、转换为黑白图像、灰度调整、阀值变换、直方图均衡和统计直方图等一系列功能,命令中并无太多的参数修改,结果也直观可见,通过这些实验内容,让我初步对一些图像的处理效果有了一定的认识。
实验二图像平滑(2学时)实验目的:1. 理解图像平滑的概念,掌握噪声模拟和图像平滑滤波函数的使用方法。
2. 理解图像均值滤波、中值滤波、高斯滤波的算法原理,了解不同滤波方法的适用场合。
实验内容:1. 对给定的同一幅图像,加上不同强度的高斯噪声,分别使用均值滤波器、中值滤波器、高斯平滑滤波器对加噪后的图像进行滤波处理。
2. 对给定的同一幅图像,加上不同强度的椒盐噪声,分别使用均值滤波器、中值滤波器、高斯平滑滤波器对加噪后的图像进行滤波处理。
实验步骤:1. 对给定的同一幅图像,加上不同强度的高斯噪声,分别使用均值滤波器、中值滤波器、高斯平滑滤波器对加噪后的图像进行滤波处理:I1=imread('eight.tif');J1=imnoise(I1,'gaussian',0.02); %添加值为0.02的高斯噪声subplot(3,2,1)imshow(I1); title('原图')subplot(3,2,2)imshow(J1);title('添加高斯噪声')K1=medfilt2(J1); %用中值滤波器进行滤波subplot(3,2,3)imshow(K1);title('用中值滤波器进行滤波')H=fspecial('average',[3 3]);L1=imfilter(J1,H,'replicate'); %用均值滤波器进行滤波subplot(3,2,4)imshow(L1);title('用均值滤波器进行滤波')H=fspecial('gaussia',[3 3],1);M1=imfilter(J1,H,'conv'); %用高斯平滑滤波器进行滤波subplot(3,2,5)imshow(M1);title('用高斯平滑滤波器进行滤波')原图添加高斯噪声用中值滤波器进行滤波用均值滤波器进行滤波用高斯平滑滤波器进行滤波仿真分析:因为高斯噪声是以随机大小的幅度污染所有的点,所以无论中值如何选择效果都不理想,而高斯噪声服从正态分布,均值为0,均值滤波效果更加理想.从图片中明显看到均值滤波对图片背景的还原效果比中值滤波较好吗,高斯平滑滤波效果也较为理想。
2. 对给定的同一幅图像,加上不同强度的椒盐噪声,分别使用均值滤波器、中值滤波器、高斯平滑滤波器对加噪后的图像进行滤波处理:I1=imread('eight.tif');J1=imnoise(I1,'salt & pepper',0.05); %添加值为0.05的椒盐噪声subplot(3,2,1)imshow(I1);title('原图')subplot(3,2,2)imshow(J1);title('添加椒盐噪声')K1=medfilt2(J1); %用中值滤波器进行滤波subplot(3,2,3)imshow(K1);title('用中值滤波器进行滤波')H=fspecial('average',[3 3]);L1=imfilter(J1,H,'replicate'); %用均值滤波器进行滤波subplot(3,2,4)imshow(L1);title('用均值滤波器进行滤波')H=fspecial('gaussia',[3 3],1);M1=imfilter(J1,H,'conv'); %用高斯平滑滤波器进行滤波subplot(3,2,5)imshow(M1);title('用高斯平滑滤波器进行滤波')原图添加椒盐噪声用中值滤波器进行滤波用均值滤波器进行滤波用高斯平滑滤波器进行滤波仿真分析:椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点值的概率比较大,所以中值滤波效果非常明显,基本上可以还原出原图。
而因为椒盐噪声均值不为0,所以均值滤波效果不佳,高斯平滑滤波相较而言效果也较差。
实验总结:在有前一次实验经验积累的基础上,此次实验完成速度明显提高,经过上一次实验对MATLAB操作地复习,整体操作也比较流畅。
这次实验的内容仍然比较简单,都是利用MATLAB 自带的算法进行图像处理操作。
在实验过程中,通过对一副图像进项添加噪声和滤波处理,对比了均值滤波器、中值滤波器、高斯平滑滤波器三种滤波方式对不同噪声进行处理时的效果差异;并且通过修改噪声的数值,也可以明显观察到不同滤波器对噪声滤除的效果;也复习了“数字图像处理”和“数字信号处理”的相关知识。