我是靠谱客的博主 自觉楼房,最近开发中收集的这篇文章主要介绍【matlab图像处理】理想低通滤波器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

实验原理:
在一幅图像中,低频部分对应图像变化缓慢的部分即图像大致外观和轮廓,高频部分对应图像变化剧烈的部分即图像细节,图像噪声也属于高频部分。低通滤波器的功能是让低频率通过而滤掉或衰减高频,效果是图像去噪平滑增强,但同时也抑制了图像细节信息,造成图像不同程度上的模糊。对于大小为M*N的图像,频率点(u, v)与频率中心的距离为D(u, v),其表达式为:
在这里插入图片描述

理想低通滤波器的产生公式为:
在这里插入图片描述
其中D0为理想低通滤波器的截止频率,理想低通滤波器在半径为D0的范围内,所有频率都可以没有衰减地通过滤波器,该半径之外的所有频率都完全被衰减掉。
实验代码:

clear;clc;close
%导入原图
img_raw = imread('08.png');
%加入高斯白噪声
img_noise = imnoise(img_raw, 'gaussian');
%imwrite(img_noise,'gaussian08.png')
%对图像做傅里叶变换
fftimg_noise = fft2(img_noise);
fftshiftimg_noise = fftshift(fftimg_noise);
%设置理想低通滤波器的截止频率d0=50
lpfshiftimg_noise = fftshiftimg_noise;
d0 = 40;
%lpf
for i = 1:512
    for j = 1:512
        distance = sqrt((i-256)^2+(j-256)^2);
        if distance <= d0
            h = 1;
        else
            h = 0;
        end
        lpfshiftimg_noise(i,j) = h*fftshiftimg_noise(i,j);
    end
end
%对图像做傅里叶反变换
lpfimg_noise1 = ifftshift(lpfshiftimg_noise);
lpfimg_noise = ifft2(lpfimg_noise1);
%% 画图
subplot(221),imshow(img_noise),title('高斯白噪声')
subplot(222),imshow(log(abs(fftshiftimg_noise)),[]),title('噪声图fft')
subplot(223),imshow(abs(lpfimg_noise),[]),title('滤波后的噪声图')
subplot(224),imshow(log(abs(lpfshiftimg_noise)),[]),title('滤波后的噪声图fft')

实验结果:
在这里插入图片描述

最后

以上就是自觉楼房为你收集整理的【matlab图像处理】理想低通滤波器的全部内容,希望文章能够帮你解决【matlab图像处理】理想低通滤波器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部