700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 计算机图像处理 实验四 图像频域平滑与锐化

计算机图像处理 实验四 图像频域平滑与锐化

时间:2020-04-25 23:50:50

相关推荐

计算机图像处理 实验四 图像频域平滑与锐化

计算机图像处理 实验四 图像频域平滑与锐化

一、实验目的与要求

1.了解频域变换过程,掌握频域变换特点

2.熟练掌握频域滤波中常用的平滑和锐化滤波器,能够对不同要求的图像进行滤波处理,体会并正确评价滤波效果,了解不同滤波方式的使用场合,能够从理论上作出合理的解释。

二、实验相关知识

图像增强是指按特定的需要突出一幅图像中的某些有用信息,同时消弱或去除某些不需要的信息的处理方法,其主要目的是使处理后的图像对某些特定的应用比原来的图像更加有效。图像平滑与锐化处理是图像增强的主要研究内容。

和本实验有关的几个常用Matlab函数:

(1) imnoise:用于对图像生成模拟噪声,如:

j=imnoise(i,‘gaussian’,0,0.02) %在图像i上叠加均值为0、方差为0.02的高斯噪声,得到含噪图像j

j=imnoise(i,‘salt & pepper’,0.04) %在图像i上叠加密度为0.04的椒盐噪声,得到含噪图像j

(2) fspecial:用于产生预定义滤波器,如:

h=fspecial(‘average’,3); %产生3×3模板的均值滤波器

h=fspecial(‘sobel’); %产生sobel水平边缘增强的滤波器

可选项还有:'gaussian’高斯低通滤波器、'laplacian’拉普拉斯滤波器、'log’高斯拉普拉斯滤波器等

(3) imfilter、filter2、conv2:均是基于卷积的图像滤波函数,都可用于图像滤波,用法类似,如:

i=imread(‘p1.tif’);

h=fspecial(‘prewitt’); %产生prewitt算子的水平方向模板

j1=imfilter(i,h); %或者j2=filter2(h,i); 或者j3=conv2(i,h);

(4) fft2:二维快速傅里叶变换函数

(5) fftshift:中心变换函数

(6) abs:取绝对值或复数取幅值

三、实验内容

1、图像频域平滑(去噪):使用自生成图像(包含白色区域,黑色区域,并且部分区域添加椒盐噪声),然后进行傅里叶变换,并且分别使用理想低通滤波器、巴特沃斯低通滤波器、指数低通滤波器和梯形低通滤波器(至少使用两种低通滤波器),显示滤波前后的频域能量分布图,空间图像。分析不同滤波器对噪声、边缘的处理效果及其优缺点。

代码:

data = rand(50,50,3);% 自生成一个图像矩阵data=zeros(50);for i=1:30for j =1:30data(i,j)=0; %randi([180, 255]);endendfor i=40:50for j=40:50data(i,j)=1;% 白endendK =imnoise(data,'salt & pepper',0.04); % 加椒盐噪声subplot(2,3,1);imshow(K);title('自生成图像');s=fftshift(fft2(K));% 先傅里叶变换,然后将傅里叶变化零频率搬移到频谱中间subplot(2,3,2);imshow(abs(s),[]);%abs 取复数的幅值,[] 自动调整数据的范围以便于显示title('图像傅里叶变换所得频谱');[a,b]=size(s);a0=round(a/2);% 确定傅里叶变化原点,并且数据取整b0=round(b/2);d0=15;% 截止频率d1=30;n=2;s1=zeros(a,b);s2=zeros(a,b);s3=zeros(a,b);for i=1:afor j=1:bd=sqrt((i-a0)^2+(j-b0)^2);if d<=d0h1=1;elseh1=0;endh2=1/(1+0.414*((d/d0)^(2*n)));h3=exp(-0.347*(d/d0)^n);if d<=d0h4=1;elseif d<=d1h4=(d-d1)/(d0-d1);elseh4=0;ends1(i,j)=h1*s(i,j);s2(i,j)=h2*s(i,j);s3(i,j)=h3*s(i,j);s4(i,j)=h4*s(i,j);endends1=real(ifft2(ifftshift(s1)));% 傅里叶逆移频,由于之前做过 fftshift,然后傅里叶反变换,然后提取实部subplot(2,3,3);imshow(s1);title('理想低通滤波所得图像');s2=real(ifft2(ifftshift(s2)));subplot(2,3,4);imshow(s2);title('巴特沃斯低通滤波所得图像');s3=real(ifft2(ifftshift(s3)));subplot(2,3,5);imshow(s3);title('指数低通滤波所得图像');

实验结果:

答:理想低通滤波器:在处理效果上高频成分包含有大量的边缘信息,可以去除噪声;优缺点上,虽然可以去除噪声但会导致边缘信息损失而使图像边缘模糊。

巴特沃斯低通滤波器:在处理效果上是连续性衰减,而不像理想滤波器那样陡峭变化;在优缺点上采用该滤波器滤波在抑制噪声的同时,图像边缘的模糊程度大大减小,没有振铃效应。

指数低通滤波器:在处理效果上采用该滤波器在抑制噪声的同时,图像边缘的模糊程度较大;优缺点:无明显的振铃效应,但图像模糊程度较大。

梯形低通滤波:在处理效果上采用该滤波器在抑制噪声的同时,图像边缘的模糊程度较大;优缺点:无明显的振铃效应,但图像模糊程度较大,与指数低通滤波器类似。

2、图像频域平滑(锐化):选择一幅图像,例如rice.png,分别使用理想高通滤波器、巴特沃斯高通滤波器、指数高通滤波器和梯形高通滤波器(至少使用两种高通滤波器),显示滤波前后的频域能量分布图,空间图像。分析不同滤波器处理效果及其优缺点。

代码:

I=imread("F:\Temp\rice.png");subplot(3,4,1);imshow(I);title('原图像');s=fftshift(fft2(I));% 先傅里叶变换,然后将傅里叶变化零频率搬移到频谱中间subplot(3,4,2);imshow(log(abs(s)),[]);title('原图频谱');[a,b]=size(s);a0=round(a/2);% 确定傅里叶变化原点,并且数据取整b0=round(b/2);d0=15;% 截止频率d1=30;n=2;s1=zeros(a,b);s2=zeros(a,b);s3=zeros(a,b);for i=1:afor j=1:bd=sqrt((i-a0)^2+(j-b0)^2);if d<=d0h1=0;elseh1=1;endh2=1/(1+(d0/d)^(2*n));h3=exp(-(d0/d)^n);if d<=d0h4=0;elseif d<=d1h4=(d-d1)/(d0-d1);elseh4=1;ends1(i,j)=h1*s(i,j);s2(i,j)=h2*s(i,j);s3(i,j)=h3*s(i,j);s4(i,j)=h4*s(i,j);endends1=uint8(real(ifft2(ifftshift(s1))));subplot(3,4,3);imshow(s1);title('理想高通滤波所得图像');s1new=fftshift(fft2(s1));subplot(3,4,4);imshow(log(abs(s1new)),[]);title('理想高通滤波新频谱');s2=uint8(real(ifft2(ifftshift(s2))));subplot(3,4,5);imshow(s2);title('巴特沃斯高通滤波所得图像');s2new=fftshift(fft2(s2));subplot(3,4,6);imshow(log(abs(s2new)),[]);title('巴特沃斯高通滤波新频谱');s3=uint8(real(ifft2(ifftshift(s3))));subplot(3,4,7);imshow(s3);title('指数高通滤波所得图像');s3new=fftshift(fft2(s3));subplot(3,4,8);imshow(log(abs(s3new)),[]);title('指数高通滤波新频谱');

实验结果:

答:理想高通滤波器在处理效果上有明显振铃现象;优缺点上图像的边缘有抖动现象;巴特沃斯高通滤波器在处理效果较好;优缺点上计算复杂,但是有少量低频通过;指数高通在处理效果上比巴特沃斯差些,优缺点上振铃现象不明显;梯形高通滤波器在处理效果上会产生微振铃效果,优缺点是计算简单,较常用。

四、实验图像

rice.png

wire.bmp

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。