高斯低通高通函数

来源:互联网 发布:淘宝店铺歌曲 编辑:程序博客网 时间:2024/06/07 19:34
借鉴课本《数字图像处理C++与计算机视觉》

 function out =my_imguassflpf(I,sigma);%I为照片
%sigma 参数
[M,N]=size(I);
out=ones(M,N);
for i=1:M
    for j=1:N
        out(i,j)=exp(-((i-M/2)^2+(j-N/2)^2)/(2*sigma^2));
    end
end

%高斯低通
Image=imread('li.jpg');
subplot(3,1,1),imshow(Image);
I=rgb2gray(Image);
ff=my_imguassflpf(I,20);
f=fft2(I);
s=fftshift(f);
s1=log(1+abs(s));
subplot(3,1,2),imshow(s1,[]);
out=s.*ff;%对应的元素相乘实现频域滤波
out=ifftshift(out);
out=ifft2(out);
out=abs(out);
subplot(3,1,3),imshow(out,[]);


%高斯高通函数
function out =my_imguassfhpf(I,sigma);
%sigma 参数
[M,N]=size(I);
out=ones(M,N);
for i=1:M
    for j=1:N
        out(i,j)=1-exp(-((i-M/2)^2+(j-N/2)^2)/(2*sigma^2));
    end
end
%高斯高通
Image=imread('li.jpg');
subplot(3,1,1),imshow(Image);
I=rgb2gray(Image);
ff=my_imguassfhpf(I,20);
f=fft2(I);
s=fftshift(f);
s1=log(1+abs(s));
subplot(3,1,2),imshow(s1,[]);
out=s.*ff;%对应的元素相乘实现频域滤波
out=ifftshift(out);
out=ifft2(out);
out=abs(out);
subplot(3,1,3),imshow(out,[]);

原创粉丝点击