数值图像处理实验三报告.docx
- 文档编号:5811047
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:10
- 大小:143.60KB
数值图像处理实验三报告.docx
《数值图像处理实验三报告.docx》由会员分享,可在线阅读,更多相关《数值图像处理实验三报告.docx(10页珍藏版)》请在冰豆网上搜索。
数值图像处理实验三报告
数字图像处理实验报告
实验三
姓名:
学院:
信息科学与工程学院
班级:
学号
2010年12月
一、实验目的
图像平滑主要目的是减少噪声。
噪声有很多种类,不同的噪声有不同的抑制措施。
本实验要求用平滑线性滤波和中值滤波2种最典型、最常用的处理算法进行程序设计,学习如何对已被噪声污染的图像进行“净化”。
通过平滑处理,对结果图像加以比较,得出自己的实验结论。
学习如何用锐化处理技术来加强图像的目标边界和图像细节,对图像进行梯度算子、拉普拉斯算子,使图像的某些特征(如边缘、轮廓等)得以进一步的增强及突出。
本实验锐化处理主要在空间域中进行。
二、实验内容
(1)利用Matlab的图像处理工具箱中提供的函数进行给图像添加椒盐噪声或者高斯噪声。
(2)利用Matlab的图像处理工具箱中提供的函数,对被噪声污染的图像进行中值滤波和均值滤波。
(3)利用Matlab的图像处理工具箱中提供的函数,对图像进行空间域的锐化。
(4)尝试使用Matlab开发自己的空间域的均值滤波,模板大小使用3×3。
(5)尝试使用Matlab开发自己的空间域的图像锐化,选取锐化方法中的一种进行试验。
三、相关函数
给图像添加噪声
J=imnoise(I,'salt&pepper',0.05);
K=imnoise(I,'gaussian',0,0.03);
中值滤波
%B=medfilt2(A,[mn])默认是3*3
k2=medfilt2(J,[55]);
k3=medfilt2(J,[77]);
fspecial与filter2函数
k1=filter2(fspecial('average',3),J);%进行平板滤波
k2=filter2(fspecial('average',5),J);%进行平板滤波
subplot(233),imshow(uint8(k1));title('3*3模板平滑滤波');
%fspecial函数用于建立预定义的滤波算子,其语法格式为:
%h=fspecial(type)
%h=fspecial(type,para)
%其中type指定算子的类型,para指定相应的参数;
%filter2,是指的是二维滤波器,只要图像时二维的就可以使用
%filter2的结果是double型的
%h=fspecial('laplacian');
%I1=filter2(h,I);
%subplot(121),imshow(uint8(I1))
imfilter函数
%imfilter
%功能:
对任意类型数组或多维图像进行滤波。
%用法:
B=imfilter(A,H)
% B=imfilter(A,H,option1,option2,...)
% 或写作g=imfilter(f,w,filtering_mode,boundary_options,size_options)
%其中,f为输入图像,w为滤波掩模,g为滤波后图像。
%filtering_mode用于指定在滤波过程中是使用“相关”还是“卷积”。
%boundary_options用于处理边界充零问题,边界的大小由滤波器的大小确定。
H=fspecial('laplacian');
sharpened=imfilter(I,H,'replicate');
subplot(2,2,4);
imshow(sharpened);title('laplacianImage');
H=fspecial('prewitt');
blurred=imfilter(I,H,'replicate');
subplot(2,2,3);
imshow(blurred);title('prewittImage');
4、实验步骤(函代码)及结果
1.加椒盐噪声和高斯噪声并进行中值滤波和均值滤波
源代码:
closeall;
clearall;
%?
?
?
?
?
?
?
?
?
?
?
?
;
f=imread('moon.tif');
J=imnoise(f,'salt&pepper',0.05);
K=imnoise(f,'gaussian',0,0.03);
figure;
subplot(1,3,1);imshow(f);title('Originalimage');
subplot(1,3,2);imshow(J);title('Imagecorruptedbysalt&pepernoise');
subplot(1,3,3);imshow(K);title('Imagecorruptedbygaussiannoise');
%?
?
3*35*57*7?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
;
Jm1=medfilt2(J);
Jm2=medfilt2(J,[55]);
Jm3=medfilt2(J,[77]);
figure;
subplot(1,3,1);imshow(Jm1);title('Noisereductionwitha3*3medianfilter');
subplot(1,3,2);imshow(Jm2);title('Noisereductionwitha5*5medianfilter');
subplot(1,3,3);imshow(Jm3);title('Noisereductionwitha7*7medianfilter');
%?
?
3*35*57*7?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
;
Km1=medfilt2(K);
Km2=medfilt2(K,[55]);
Km3=medfilt2(K,[77]);
figure;
subplot(1,3,1);imshow(Km1);title('Noisereductionwitha3*3medianfilter');
subplot(1,3,2);imshow(Km2);title('Noisereductionwitha5*5medianfilter');
subplot(1,3,3);imshow(Km3);title('Noisereductionwitha7*7medianfilter');
%?
?
3*35*59*9?
?
?
?
?
?
?
;
w=fspecial('average');
w5=fspecial('average',5);
w9=fspecial('average',9);
%?
?
3*35*59*9?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
;
Ja1=filter2(w,J);
Ja2=filter2(w5,J);
Ja3=filter2(w9,J);
figure;
subplot(1,3,1);imshow(uint8(Ja1));title('Noisereductionwitha3*3averagingfilter');
subplot(1,3,2);imshow(uint8(Ja2));title('Noisereductionwitha5*5averagingfilter');
subplot(1,3,3);imshow(uint8(Ja3));title('Noisereductionwitha9*9averagingfilter');
%?
?
3*35*57*7?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
;
Ka1=filter2(w,K);
Ka2=filter2(w5,K);
Ka3=filter2(w9,K);
figure;
subplot(1,3,1);imshow(uint8(Ka1));title('Noisereductionwitha3*3averagingfilter');
subplot(1,3,2);imshow(uint8(Ka2));title('Noisereductionwitha5*5averagingfilter');
subplot(1,3,3);imshow(uint8(Ka3));title('Noisereductionwitha9*9averagingfilter');
实验结果:
图一、原始图像及加椒盐噪声和高斯噪声后的图像
图二、椒盐噪声经中值滤波
图三、高斯噪声经中值滤波
图四、椒盐噪声经均值滤波
图五、高斯噪声经均值滤波处理
2、利用Matlab的图像处理工具箱中提供的函数,对图像进行空间域的锐化
源代码:
closeall;
clearall;
%?
?
?
?
?
?
?
?
?
double?
?
?
?
?
?
?
?
?
?
;
f=imread('rice.png');
subplot(2,2,1);imshow(f);title('Originalimage');
f=im2double(f);
%?
?
?
?
?
?
?
-4?
-8?
Laplacian?
?
?
?
;
w4=fspecial('laplacian',0);
w8=[111;1-81;111];
%?
?
?
?
?
?
?
?
?
?
?
Laplacian?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
;
g=imfilter(f,w4,'replicate');
g4=f-imfilter(f,w4,'replicate');
g8=f-imfilter(f,w8,'replicate');
subplot(2,2,2);imshow(g);title('Laplacian-filteredimage.');
subplot(2,2,3);imshow(g4);title('ImageenhancedbyusingLaplacian-filter');
subplot(2,2,4);imshow(g8);title('ImageenhancedbyusinganotherLaplacian-filter');
实验结果:
图六、利用Laplacian滤波对图像进行锐化处理
3、开发自己的空间域的均值滤波,模板大小使用3×3。
源代码:
closeall;
clearall;
I=imread('rice.png');
J=imnoise(I,'gaussian',0,0.02);
%?
?
?
?
?
0?
?
?
0.02?
gaussian?
?
;
subplot(1,2,1);imshow(J);
h=[111
111
111];
%?
?
?
?
?
?
H=h/9;
%?
?
?
?
?
?
?
?
K=conv2(J,H);
%?
?
?
?
?
?
?
?
?
?
subplot(1,2,2);imshow(I);
实验结果:
图七、用均值滤波器对加有高斯噪声的图像滤波
4、开发自己的空间域的图像锐化
源代码:
closeall;
clearall;
%?
?
?
?
?
?
?
?
?
double?
?
?
?
?
?
?
?
?
?
;
f=imread('rice.png');
subplot(1,2,1);imshow(f);title('Originalimage');
f=double(f);
%?
?
?
?
?
-4?
Laplacian?
?
?
?
;
h=[010
1-41
010];
%?
?
?
?
?
?
J=conv2(f,h,'same');
%?
laplacian?
?
?
?
?
?
?
K=f-J;
%?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
subplot(1,2,2);imshow(K,[]);title('EnhancedimagewithLaplasian-filter');
实验结果:
图八、用Laplasian算子对图像进行锐化
5、结果分析
由以上结果我们可以得到如下一些结论:
1、中值滤波是一种典型的低通滤波器,主要目的是保护图像边缘,同时也能去除噪声。
所以能够在抑制随机噪声的同时不使边缘模糊。
2、均值滤波可以平滑图像信号可是也会使图像变得模糊。
3、由椒盐噪声与高斯噪声的滤波比较可知,中值滤波较适合椒盐噪声滤波,而均值滤波较适合高斯噪声。
4、在图像锐化过程中需注意,由于原图像是unit8类型的,故在滤波结束后的输出图像也将是unit8类型的,故负值将被截取为0,故需在滤波前将原图像转换为有符号整数型或双精度型。
5、Laplasian滤波后与原图相减可以有效地使图像锐化,使边界根加清晰,但是图像经滤波后发生了失真,这也是Laplasian算子的一大缺点。
6、心得体会
通过这次实验,我对于空间域中的图像处理有了进一步的深入认识,对于各种滤波后的显示结果也有了一定的直观感受,并能够从原理上对其进行解释。
对于图像滤波和锐化的具体原理以及应用有了一定的了解,可以说只有通过实验,我们才能真正驾驭所学的理论知识,在以后的学习中一定要更加的重视实验的要素。
七、参考文献
[1]冈萨雷斯,数字图像处理(第二版).电子工业出版社,2008.
[2]冈萨雷斯,数字图像处理(Matlab版).电子工业出版社,2005.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 图像 处理 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)