我是靠谱客的博主 笨笨网络,最近开发中收集的这篇文章主要介绍MATLAB学习——低通滤波(频域滤波(一)),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

1.概论

2.低通滤波

(1)理想低通滤波

    代码(理想低通滤波)

(2)巴特沃斯低通滤波器

   代码(巴特沃斯低通滤波)

(3)高斯低通滤波器

 


1.概论

频率域图像增强首先通过傅立叶变换将图像从空间域转换到频率域,在频率域对图像进行处理,处理后再将图像进行傅立叶反变换转换到空间域。

频域滤波主要有低通滤波、高通滤波、同态滤波等。

2.低通滤波

让低频率通过,而滤掉或衰弱高频率。作用是过滤掉包含在高频中的噪声。所以低通滤波的效果是图像去噪声平滑增强。

(1)理想低通滤波

在半径范围D0内,所有频率都可以没有衰减的通过滤波器,但在半径范围外的所有频率都会被衰减。

    代码(理想低通滤波):

close all;clear all;clc;
I=imread('D:resource_photo3.png');
I=im2double(I);
M=2*size(I,1);  %滤波器行数
N=2*size(I,2);  %滤波器列数
u=-M/2:(M/2-1);
v=-N/2:(M/2-1);
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=60;  %截止频率
H=double(D<=D0); %理想低通滤波
J=fftshift(fft2(I,size(H,1),size(H,2))); %时域图像转换到频域
K=J.*H;  %滤波处理
L=ifft2(ifftshift(K)); %傅里叶反变换
L=L(1:size(I,1),1:size(I,2));
figure;
subplot(121);imshow(I)
subplot(122);imshow(L)

(2)巴特沃斯低通滤波器

产生公式:

其中D0为巴特沃斯低通滤波器的截至频率,参数n为巴特沃斯滤波器的阶数,n越大则滤波器的形状越陡峭。

   代码(巴特沃斯低通滤波):

close all;clear all;clc;
I=imread('D:resource_photo3.png');
I=im2double(I);
M=2*size(I,1);  %滤波器行数
N=2*size(I,2);  %滤波器列数
u=-M/2:(M/2-1);
v=-N/2:(M/2-1);
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=50;  %截止频率
n=6; %滤波器的阶数
H=1./(1+(D./D0).^(2*n)); %巴特沃斯滤波器
J=fftshift(fft2(I,size(H,1),size(H,2))); %时域图像转换到频域
K=J.*H;  %滤波处理
L=ifft2(ifftshift(K)); %傅里叶反变换
L=L(1:size(I,1),1:size(I,2));
figure;
subplot(121);imshow(I)
subplot(122);imshow(L)

(3)高斯低通滤波器

产生公式:

 其中D0为高斯低通滤波器的截至频率。

 

 

 

最后

以上就是笨笨网络为你收集整理的MATLAB学习——低通滤波(频域滤波(一))的全部内容,希望文章能够帮你解决MATLAB学习——低通滤波(频域滤波(一))所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部