当前位置:首页 > 图像的傅立叶变换与频域滤波
if(i-128)^2+(k-160)^2<=10; N(i,k)=1; end end end J=fft2(gg);
J=fftshift(log(abs(J))); K=J.*N; L=ifft2(K); L=ifftshift(L); figure,imshow(K);
2.利用一维FFT计算二维付里叶变换。分别显示行计算结果和列变换结果。
(立体结果,用mesh(F)显示)
I=imread('cameraname.bmp'); figure;imshow(I); title('原图像'); F1 = fft2(I); C1 = ifft2(F1);
figure;imshow(log(1+abs(C1)),[]); title('2滤波后图像'); figure;mesh(C1); F2 = fft(I); F3 = fft(F2')'; C3 = ifft(F3')';
5
C2 = ifft(C3);
figure;imshow(log(1+abs(C2)),[]); title('1/1滤波后图像'); figure;mesh(log(1+abs(C2)));
原图像
2滤波后图像
1/1滤波后图像
6
3.利用MatLab工具箱中的函数编制FFT频谱显示的函数; 4 a). 调入、显示“实验一”获得的图像;图像存储格式应为“.gif”; b) 对这三幅图像做FFT并利用自编的函数显示其频谱; c) 讨论不同的图像内容与FFT频谱之间的对应关系。
5 利用MATLAB提供的低通滤波器实现图像信号的滤波运算,并与空间滤波进行比较。
I=imread('cameraname.bmp'); %读入原图像文件 figure;imshow(I); %显示原图像 title('原图像'); [M,N] = size(I); F = fft2(I);
A=fftshift(F); %直流分量移到频谱中心 %figure;imshow(A); H = zeros(M,N); H(63:192,63:192) = 1; figure;imshow(H); title('低通滤波器'); B = A.*H; C = ifft2(B);
figure;imshow(log(1+abs(C)),[]);
7
title('滤波后');
原图像
低通滤波器
滤波后
6利用MATLAB提供的高通滤波器对图像进行处理。
I=imread('cameraname.bmp'); %读入原图像文件 figure;imshow(I); %显示原图像 title('原图像');
J = imnoise(I,'gauss',0.02); %添加高斯噪声
%J = imnoise(I,'salt & pepper',0.02); %添加椒盐噪声 figure;imshow(J); %显示原图像 title('噪声图像');
8
共分享92篇相关文档