数字图像处理上机作业五Word文档下载推荐.doc

上传人:b****1 文档编号:13181399 上传时间:2022-10-07 格式:DOC 页数:13 大小:1.68MB
下载 相关 举报
数字图像处理上机作业五Word文档下载推荐.doc_第1页
第1页 / 共13页
数字图像处理上机作业五Word文档下载推荐.doc_第2页
第2页 / 共13页
数字图像处理上机作业五Word文档下载推荐.doc_第3页
第3页 / 共13页
数字图像处理上机作业五Word文档下载推荐.doc_第4页
第4页 / 共13页
数字图像处理上机作业五Word文档下载推荐.doc_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数字图像处理上机作业五Word文档下载推荐.doc

《数字图像处理上机作业五Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《数字图像处理上机作业五Word文档下载推荐.doc(13页珍藏版)》请在冰豆网上搜索。

数字图像处理上机作业五Word文档下载推荐.doc

11111

11011

11111

11111];

2.中值平滑可以先编写中值平滑子函数zhongzhi(),然后在主函数中调用即可。

以3*3中值平滑为例来分析其操作过程,3*3中值平滑就是将以各项素为中心的9个像素值的中间值作为平滑后的新的像素值赋给该像素。

因此可以通过I(i-1:

i+1,j-1:

j+1)得到对应于I(i,j)点的九个像素值,然后在由median函数可求出这九个值的中值,赋给新矩阵的(i,j)点即可。

注意I(i-1:

j+1)操作可能会有i-1=0,j-1=0或i+1、j+1大于矩阵最大行列数的情况,从而出现错误。

在这里我的处理是在I矩阵的外围补上一圈0,即出现上述情况时像素值以0来代替。

具体代码为:

I0=zeros(m+2,n+2);

fori=2:

m+1

forj=2:

n+1

I0(i,j)=I(i-1,j-1);

end

end

同理,5*5的中值平滑也可以同样操作,只不过是在外围补上两圈零而已。

代码及注释如下:

主函数:

clear

I=imread('

Lenna.bmp'

);

J=imnoise(I,'

gaussian'

K=imnoise(I,'

salt&

pepper'

%H1为3*3邻域平滑的卷积核,H2为5*5邻域平滑的卷积核

H1=1/8*[111

101

111];

11111

11011

11111

11111];

J1=imfilter(J,H1);

%高斯白噪声的3*3邻域平滑

J2=imfilter(J,H2);

%高斯白噪声的5*5邻域平滑

K1=imfilter(K,H1);

%椒盐噪声的3*3邻域平滑

K2=imfilter(K,H2);

%椒盐噪声的5*5邻域平滑

J3=zhongzhi(J,3);

%高斯白噪声的3*3中值平滑

J4=zhongzhi(J,5);

%高斯白噪声的5*5中值平滑

K3=zhongzhi(K,3);

%椒盐噪声的3*3中值平滑

K4=zhongzhi(K,5);

%椒盐噪声的5*5中值平滑

subplot(131);

imshow(J);

title('

高斯白噪声'

subplot(132);

imshow(J1);

高斯白噪声的3*3邻域平滑'

subplot(133);

imshow(J2);

高斯白噪声的5*5邻域平滑'

figure

imshow(J3);

高斯白噪声的3*3中值平滑'

imshow(J4);

高斯白噪声的5*5中值平滑'

imshow(K);

椒盐噪声'

imshow(K1);

椒盐噪声的3*3邻域平滑'

imshow(K2);

椒盐噪声的5*5邻域平滑'

imshow(K3);

椒盐噪声的3*3中值平滑'

imshow(K4);

椒盐噪声的5*5中值平滑'

中值平滑子函数zhongzhi()如下:

functionJ=zhongzhi(I,k)

[m,n]=size(I);

ifk==3%3*3的中值平滑

I0=zeros(m+2,n+2);

forj=2:

I0(i,j)=I(i-1,j-1);

%将到操作的图像矩阵I外围不上0

end

end

a=I0(i-1:

j+1);

b=a(1:

9);

%将3*3的矩阵化成1*9的矩阵,便于median操作

J(i-1,j-1)=median(b);

%取中值,保存为平滑后矩阵J的i-1行、j-1列

elsek==5%5*5的中值平滑

I0=zeros(m+4,n+4);

fori=3:

m+2

forj=3:

n+2

I0(i,j)=I(i-2,j-2);

end

a=I0(i-2:

i+2,j-2:

j+2);

25);

J(i-2,j-2)=median(b);

J=uint8(J);

运行结果如下:

1)加高斯白噪声后图像,及3*3、5*5邻域平滑

2)加高斯白噪声后图像,及3*3、5*5中值滤波

3)加椒盐噪声后图像,及3*3、5*5邻域平滑

4)加椒盐噪声后图像,及3*3、5*5中值平滑

结论:

平滑滤波和中值滤波对噪声都有一定的抑制作用,且阶数越高滤波效果越好,中值滤波对椒盐噪声的抑制效果特别明显,中值滤波效果比平滑滤波好一些,轮廓比较清晰。

另外中值平滑在matlab中有现成的函数medfilt2,经过与medfilt2函数对比,已验证zhongzhi()效果与medfilt2完全相同。

2.设计一个程序对受到高斯白噪声及椒盐噪声干扰的图像在频域内分别采用理想低通和2阶butterworth滤波器进行平滑处理.

1).在频域进行低通滤波,可以先通过fft2得到图形的频响,然后通过fftshift将零频点移到中心位置,,再将频率响应的相应点利用数组乘法乘以传递函数即可。

最后再由频域转换回空域即可。

2).理想低通的传递函数为

在程序中我用I0来表示,I0的生成过程如下:

fori=1:

m

forj=1:

n

if(i-i0)^2+(j-j0)^2<

=60^2

I0(i,j)=1;

else

I0(i,j)=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 制度规范

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1