如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
(精品word)MatLab理想低通滤波及高通滤波实现高频增强实验报告_图文(精)
(精品word)MatLab理想低通滤波及高通滤波实现高频增强实验报告_图文(精)
(精品word)MatLab理想低通滤波及高通滤波实现高频增强实验报告_图文(精)
实验作业5:
1、用理想低通滤波器在频率域实现低通滤波
程序代码:
I=imread('d:/3。jpg’;
I=rgb2gray(I;
figure(1,imshow(I;
title(’原图像’;
s=fftshift(fft2(I;
figure(2;
imshow(abs(s,[];
title('图像傅里叶变换所得频谱’;
[a,b]=size(s;
a0=round(a/2;
b0=round(b/2;
d=10;
fori=1:a
forj=1:b
distance=sqrt((i-a0^2+(j—b0^2;
ifdistance〈=dh=1;
elseh=0;
end;
s(i,j=h*s(i,j;
end;
end;
s=uint8(real(ifft2(ifftshift(s;
figure(3;
imshow(s;
title(’低通滤波所得图像';
滤波d=10
2、用理想高通滤波器在频率域实现高频增强
I=imread(’d:/3.jpg’;
I=rgb2gray(I;
figure(1,imshow(I;
title(’原图像’;
s=fftshift(fft2(I;
figure(2;
imshow(abs(s,[];
title(’图像傅里叶变换所得频谱';
figure(3;
imshow(log(abs(s,[];
title('图像傅里叶变换取对数所得频谱';
[a,b]=size(s;
a0=round(a/2;
b0=round(b/2;
d=10;
p=0。2;q=0.5;
fori=1:a
forj=1:b
distance=sqrt((i-a0^2+(j-b0^2;
ifdistance〈=dh=0;
elseh=1;
end;
s(i,j=(p+q*h*s(i,j;
end;
end;
s=uint8(real(ifft2(ifftshift(s;
figure(4;
imshow(s;title('高通滤波所得图像';
figure(5;
imshow(s+I;title('高通滤波所得高频增强图像';
心得体会:
这次按照低通滤波器和高通滤波器的定义,按照低通滤波的过程,一步一步写,先是进行傅里叶变换,再对其频谱进行平移,使其中心位于中心,再对此时的频谱进行‘圆形滤波',刚开始纠结于公式,要怎么想出一个H(s)的滤波器的表达式,然后再进行相乘,后来没有想出来,就直接在每次循环里面直接进行乘法运算,如:
fori=1:a
forj=1:b
distance=sqrt((i-a0^2+(j-b0^2;
ifdistance<=dh=1;
elseh=0;
end;
s(i,j=h*s(i,j;
end;
end;
后来低通滤波这么一写,高通滤波也就挺简单的了,没怎么想,把上面那个h=1和h=0的位置调换一下就变成了高通滤波器,至于高频增强,就改用了s(i,j=(p+q*h*s(i,j;
在想滤波器表达式怎么写的时候找了好多资料,结果别人的程序都没看懂,后来看到稍微有点接近的,就吸取了那种写法,写出以上程序.
17****21
实名认证
内容提供者
最近下载