数字图像滤波器平滑


clear
close all
clc

I=imread('Fig5.jpg'); 
figure, imshow(I);

%实现中心平移
%f(x,y)*(-1)^(x+y)
%TODO:
%A(i,j) = A(i,j) * power(-1, i+j);
[m, n] = size(I);
for i=1:m
    for j=1:n
        I(i,j) = I(i,j) * power(-1, i+j);
    end
end
    
%将空间域图像转换到频率域
%二维离散傅里叶变换,并显示频谱图像
%TODO:
A = fft2(I);

figure,imshow(log(abs(A)),[]);

% 实现低通滤波器H
%TODO:
% D0=?
% (floor(m/2),floor(n/2))
% D: (y,x)->(floor(m/2),floor(n/2))
H = zeros(m,n);
D0=25;
for i=1:m
    for j=1:n
        D = (i-m/2).^2+(j-n/2).^2;
        D = sqrt(D);
        if(D<=D0)
            H(i,j) = 1;
        end            
    end
end

%频率域图像平滑处理
%TODO:
A = A.*H;

%将处理后的图像在空间域进行显示
A = ifft2(A);

for i=1:m
    for j=1:n
        A(i,j) = A(i,j) * power(-1, i+j);
    end
end

%对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数
figure,imshow(uint8(real(A))); 


原图
傅里叶变换后

最终成果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值