武汉科技大学 数字图像处理实验报告讲解.docx
- 文档编号:3452624
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:15
- 大小:290.10KB
武汉科技大学 数字图像处理实验报告讲解.docx
《武汉科技大学 数字图像处理实验报告讲解.docx》由会员分享,可在线阅读,更多相关《武汉科技大学 数字图像处理实验报告讲解.docx(15页珍藏版)》请在冰豆网上搜索。
武汉科技大学数字图像处理实验报告讲解
二○一四~二○一五学年第一学期
电子信息工程系
实验报告书
班级:
电子信息工程(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('
图原
统计直方图图灰度
3000200010000
1000200统计直方图衡均直方图6000
400020000
1000200
仿真分析:
将灰度图直方图均衡后,从图形上反映出细节更加丰富,图像动态范围增大,深色的地方颜色更深,浅色的地方颜色更前,对比更鲜明。
从直方图上反应,暗部到亮部像素分布更加均匀。
将图片进行阈值变换和灰度调整,并统计图像的直方图:
2.
I1=imread('rice.png');
I2=im2bw(I1,0.5);%选取阈值为0.5
I3=imadjust(I1,[0.30.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('统计直方图图计直方统图原1000
5000
01002004统计直方图x10换阈值变
8
6420
10图方统计直整调灰度
2000
10000
2001000
仿真分析:
进行阈值变换后,图像上只有“黑”和“白”两种颜色,原图中颜色过渡的细节没有了,但是亮部和暗部之间的对比更加强烈了;从直方图上可以看到像素集中“黑”与“白”两个部分,而两者之间是没有像素的。
进行灰度调整后,无论从图像上反映还是从值方图上反映,都能看出像素的亮度整体上有所改变。
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
伽马值3伽马值42马值伽
仿真分析:
该图片为亮图片,而伽马值小于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',[33]);
L1=imfilter(J1,H,'replicate');%用均值滤波器进行滤波
subplot(3,2,4)
imshow(L1);
title('用均值滤波器进行滤波')
H=fspecial('gaussia',[33],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',[33]);
L1=imfilter(J1,H,'replicate');%用均值滤波器进行滤波
subplot(3,2,4)
imshow(L1);
title('用均值滤波器进行滤波')
H=fspecial('gaussia',[33],1);
M1=imfilter(J1,H,'conv');%用高斯平滑滤波器进行滤波
subplot(3,2,5)
imshow(M1);
title('用高斯平滑滤波器进行滤波')
原图添加椒盐噪声用中值滤波器进行滤波用均值滤波器进行滤波用高斯平滑滤波器进行滤波
仿真分析:
椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点值的概率比较大,所以中值滤波效果非常明显,基本上可以还原出原图。
而因为椒盐噪声均值不为0,所以均值滤波效果不佳,高斯平滑滤波相较而言效果也较差。
实验总结:
在有前一次实验经验积累的基础上,此次实验完成速度明显提高,经过上一次实验对MATLAB操作地复习,整体操作也比较流畅。
这次实验的内容仍然比较简单,都是利用MATLAB自带的算法进行图像处理操作。
在实验过程中,通过对一副图像进项添加噪声和滤波处理,对比了均值滤波器、中值滤波器、高斯平滑滤波器三种滤波方式对不同噪声进行处理时的效果差异;并且通过修改噪声的数值,也可以明显观察到不同滤波器对噪声滤除的效果;也复习了“数字图像处理”和“数字信号处理”的相关知识。
.
实验三图像锐化与边缘检测(2学时)
实验目的:
1.理解图像锐化的概念,掌握图像锐化的基本算法和函数使用方法。
2.了解边缘检测的算法和用途,掌握边缘检测函数的使用方法,比较不同算子检测边缘的差异。
实验内容:
1.图像锐化。
对给定的同一幅图像,分别使用Robert算子、Sobel算子、Laplacian算子进行滤波处理。
2.边缘检测。
对给定的同一幅图像,分别使用Sobel、Prewitt、Roberts、LoG和Canny等边缘检测算子进行处理,使用算法的默认参数或适当调整算法参数,将处理结果显示在同一窗口中以便进行比较。
实验步骤:
1.图像锐化。
对给定的同一幅图像,分别使用Robert算子、Sobel算子、Laplacian算子进行滤波处理:
I=imread('cameraman.tif');
H=fspecial('Laplacian');
H1=imfilter(I,H,'replicate');%用Laplacian算子滤波
H=fspecial('Sobel');
H2=imfilter(I,H,'replicate');%用Sobel算子滤波
subplot(2,2,1);
imshow(I);title('原图')
subplot(2,2,2);
imshow(H1);title('用Laplacian算子滤波')
subplot(2,2,3);
imshow(H2);title('用Sobel算子滤波')
I=imread('liftingbody.png');
H=[-10;01];%Robert算子一(接近正45°边缘有较强响应)
H3=imfilter(I,H,'replicate');%用Robert算子一滤波
H=[0-1;10];%Robert算子二(接近负45°边缘有较强响应)
H4=imfilter(I,H,'replicate');%Robert算子二滤波
H5=imadd(H3,H4);%将得到的图像叠加
subplot(2,2,4);
')
算子滤波Robert用imshow(H5);title('
原图用Laplacian算子滤波
用Sobel算子滤波用Robert算子滤波
仿真分析:
Robert算子由于其算法最为简单,对正负45°感应较强,所以明显可以看到Robert算子在,对正负45°处的锐化效果比较明显,而其他地方的滤波效果却不佳,整体边缘检测效果也较差。
2.边缘检测。
对给定的同一幅图像,分别使用Sobel、Prewitt、Roberts、LoG和Canny等边缘检测算子进行处理,使用算法的默认参数或适当调整算法参数,将处理结果显示在同一窗口中以便进行比较:
I1=imread('cameraman.tif');
BW1=edge(I1,'sobel');%sobel图像边缘提取
BW2=edge(I1,'roberts');%roberts图像边缘提取
BW3=edge(I1,'prewitt');%prewitt图像边缘提取
BW4=edge(I1,'log');%log图像边缘提取
BW5=edge(I1,'canny');ênny图像边缘提取
subplot(3,2,1);
imshow(I1);title('原图');
subplot(3,2,2);
imshow(BW1);title('Sobel算子');
subplot(3,2,3);
imshow(BW2);title('Roberts算子');
subplot(3,2,4);
imshow(BW3);title('Prewitt算子');
subplot(3,2,5);
');
算子imshow(BW4);title('Log
subplot(3,2,6);
imshow(BW5);title('Canny算子');
原图Sobel算子
Roberts算子Prewitt算子
Log算子Canny算子
仿真分析:
由于Log算子是把高斯平滑滤波器和拉普拉斯锐化滤波器相结合,对图像边缘的细节保持较好,但图像边缘有些模糊。
Canny算子可以很好的提取细节,但也增加了很多假边缘细节。
Roberts算子边缘较粗,定位上有所欠缺,细节不够。
Prewitt算子和Sobel算子能够去除一些假边缘,但是自身的精度又有所欠缺。
实验总结:
这次实验的难度较前两次实验有所提升,对于边缘检测和利用Sobel算子、Laplacian算子进行图像锐化处理内容,因为MATLAB提供了相应的函数,所以完成这些实验内容比较轻松。
由于MATLAB没有提供Robert算子的图像锐化函数,必须自行编写相应的滤波器数值进行滤波。
经过在网上大量查阅相关资料后,最终设计出了相应滤波器,虽然滤波结果不太理想,算法中也可能存在一些问题,但在整个查阅资料和编写代码的过程中让我学到了不少相关知识,也复习、加深了我在课堂上所学的内容。
.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉科技大学 数字图像处理实验报告讲解 武汉 科技大学 数字图像 处理 实验 报告 讲解