图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪

这篇具有很好参考价值的文章主要介绍了图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

在一幅图像中,低频部分对应图像变化缓慢的部分即图像大致外观和轮廓。高频部分对应图像变换剧烈的部分即图像细节(注意图像的噪声属于高频部分)

低通滤波器的功能是让低频率通过而滤掉或衰减高频,其作用是过滤掉包含在高频中的噪声。即低通滤波的效果是图像去噪声平滑增强,但同时也抑制了图像的边界即过滤掉图像细节,造成图像不同程序上的模糊。对于大小为M*N的图像,频率点(u,v)与频域中心的距离为D(u,v),其表达式为:
图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪
低通滤波器一共有三种,分别为理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器。理想低通滤波器的滤波非常尖锐,高斯低通滤波器的滤波则非常平滑。巴特沃斯滤波器介于两者之间,当巴特沃斯低通滤波器的阶数较高时,接近于理想低通滤波器;当巴特沃斯低通滤波器的阶数较低时,则接近于高斯低通滤波器。

二、理想低通滤波器(ILPF)

1、基本定义

理想低通滤波器的产生公式为:
图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪
图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪

其中D0为理想低通滤波器的截止频率。理想低通滤波器在半径为D0的范围内,所有频率都可以没有衰减地通过滤波器,该半径之外的所有频率都完全被衰减掉。理想低通滤波器具有平滑图像的作用,但是有很严重的振铃现象。

补充1:图像处理中,对一幅图像进行滤波处理,若选用的频域滤波器具有陡峭的变化,则会使滤波图像产生“振铃”。所谓“振铃”,即指输出图像的灰度剧烈变化处产生的震荡,就好像钟被敲击后产生的空气震荡。如下图所示:
图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪
参考博客:图像处理中的振铃现象产生原因

2、matlab实现理想低通滤波器去除高斯噪声

(1)实现代码:

close all;
clear all;
clc;
I = imread('football.jpg');
I=rgb2gray(I);

subplot(131),imshow(I);
title('原始图像');

I=imnoise(I,'gaussian');%加入高斯白噪声
subplot(132),imshow(I);
title('加入噪声后所得图像');

% 函数fft2()用于计算二维傅立叶变换
% 函数fftshift()是对函数fft2()作傅里叶变换后得到的频谱进行平移,将变换后的图像频谱中心从矩阵的原点移到矩阵的中心
% 作二维傅里叶变换前一定要用函数im2double()把原始图像的数据类型由uint8转化为double类型
% 否则会因为unit8数据类型只能表示0-255的整数而出现数据截断,进而出现错误结果
s=fftshift(fft2(im2double(I)));
[a,b]=size(s);
a0=round(a/2);
b0=round(b/2);
d0=50; % 将理想低通滤波器的截止频率D0设置为50
for i=1:a %双重for循环计算频率点(i,j)与频域中心的距离D(i,j)=sqrt((i-round(a/2)^2+(j-round(b/2)^2))
    for j=1:b 
        distance=sqrt((i-a0)^2+(j-b0)^2);
        if distance<=d0  % 根据理想低通滤波器产生公式,D(i,j)<=D0,置为1
            h=1;
        else
            h=0;        % 根据理想低通滤波器产生公式,D(i,j)>D0,置为0
        end
        s(i,j)=h*s(i,j);% 频域图像乘以滤波器的系数
    end
end
% real函数取元素的实部
s=real(ifft2(ifftshift(s)));% 最后进行二维傅里叶反变换转换为时域图像
subplot(133),imshow(s,[]);
title('理想低通滤波所得图像'); 

(2)实现效果:
图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪
三、巴特沃斯低通滤波器(BLPF)

1、基本定义

巴特沃斯低通滤波器的产生公式为:

图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪
图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪
其中D0为巴特沃斯低通滤波器的截止频率,参数n为巴特沃斯低通滤波器的阶数,n越大则滤波器的形状越陡峭即振铃现象越明显。

2、matlab实现巴特沃斯低通滤波器去除高斯噪声

(1)实现代码:

close all;
clear all;
clc;
I = imread('football.jpg');
I=rgb2gray(I);

subplot(131),imshow(I);
title('原始图像');

I=imnoise(I,'gaussian');%加入高斯白噪声
subplot(132),imshow(I);
title('加入噪声后所得图像');

% 函数fft2()用于计算二维傅立叶变换
% 函数fftshift()是对函数fft2()作傅里叶变换后得到的频谱进行平移,将变换后的图像频谱中心从矩阵的原点移到矩阵的中心
% 作二维傅里叶变换前一定要用函数im2double()把原始图像的数据类型由uint8转化为double类型
% 否则会因为unit8数据类型只能表示0-255的整数而出现数据截断,进而出现错误结果
s=fftshift(fft2(im2double(I)));
[N1,N2]=size(s);%求二维傅里叶变换后图像大小
n=2;            % 将巴特沃斯低通滤波器的阶数n设置为2
d0=30;          % 将巴特沃斯低通滤波器的截止频率D0设置为30
n1=round(N1/2);
n2=round(N2/2);
for i=1:N1      %双重for循环计算频率点(i,j)与频域中心的距离D(i,j)=sqrt((i-round(N1/2)^2+(j-round(N2/2)^2))
    for j=1:N2 
        distance=sqrt((i-n1)^2+(j-n2)^2);
        if distance==0 
            h=0; 
        else
            h=1/(1+(distance/d0)^(2*n));% 根据巴特沃斯低通滤波器公式为1/(1+[D(i,j)/D0]^2n)
        end
        s(i,j)=h*s(i,j);% 频域图像乘以滤波器的系数
    end
end
% real函数取元素的实部
s=real(ifft2(ifftshift(s)));% 最后进行二维傅里叶反变换转换为时域图像
subplot(133),imshow(s,[]);
title('Butterworth低通滤波图像');

(2)实现效果:
图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪
四、高斯低通滤波器(GLPF)

1、基本定义

高斯低通滤波器的产生公式为:
图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪
图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪
其中D0为高斯低通滤波器的截止频率,注意高斯低通滤波器不会产生振铃现象。

2、matlab实现高斯低通滤波器去除高斯噪声

(1)实现代码:

close all;
clear all;
clc;
I = imread('football.jpg');
I=rgb2gray(I);

subplot(131),imshow(I);
title('原始图像');

I=imnoise(I,'gaussian');%加入高斯白噪声
subplot(132),imshow(I);
title('加入噪声后所得图像');

% 函数fft2()用于计算二维傅立叶变换
% 函数fftshift()是对函数fft2()作傅里叶变换后得到的频谱进行平移,将变换后的图像频谱中心从矩阵的原点移到矩阵的中心
% 作二维傅里叶变换前一定要用函数im2double()把原始图像的数据类型由uint8转化为double类型
% 否则会因为unit8数据类型只能表示0-255的整数而出现数据截断,进而出现错误结果
s=fftshift(fft2(im2double(I)));
[a,b]=size(s);
d0=30; % 将高斯低通滤波器的截止频率D0设置为30
a0=round(a/2);
b0=round(b/2);
for i=1:a
    for j=1:b
        distance=sqrt((i-a0)^2+(j-b0)^2);    % 根据高斯低通滤波器公式H(u,v)=e^-[D^2(u,v)/2*D0^2] 
        h=exp(-(distance*distance)/(2*(d0^2))); % exp表示以e为底的指数函数
        s(i,j)=h*s(i,j);% 频域图像乘以滤波器的系数
    end
end

s=real(ifft2(ifftshift(s)));% 最后进行二维傅里叶反变换转换为时域图像
subplot(133),imshow(s,[]); 
title('高斯低通滤波图像');

(2)实现效果:
图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪

补充2:对图像噪声的简单理解:噪声在图像上常表现为引起较强视觉效果的孤立像素点或像素块。一般, 噪声信号与研究的对象不相关,它以无用的信息形式出现,扰乱图像的可观测信息。通俗的说,噪声点其实在视觉上看上去让人感觉很难受,直观理解就是其和周围的像素点差异比较大,显得比较突兀,视觉看起来很不舒服。

参考博客:
(1) 通过matlab编程,对以下图像分别添加高斯噪声和椒盐噪声(参数自定),并使用理想低通滤波器、高斯低通滤波器和巴特沃斯低通滤波器进行去噪
(2)用matlab编程实现数字图像理想低通滤波、高斯低通滤波和巴特沃斯低通滤波去噪算法

由于刚刚开始学习图像处理,对于很多知识理解不到位。如有错误,恳请指正,任重而道远,慢慢加油!文章来源地址https://www.toymoban.com/news/detail-407723.html

到了这里,关于图像处理之理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器的matlab实现去噪的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenCV(图像处理)-基于python-滤波器(低通、高通滤波器的使用方法)

    低通滤波 :低通滤波可以去除图像的噪音或平滑图像。 高通滤波 :可以帮助查找图像的边缘。 噪音 :即对一幅图像的产生负面效果,过暗或过亮的部分,一幅图像中,低于或高于某个像素点的值,都可以认为是噪音。 卷积核 :即用来滤波的矩阵,卷积核一般为奇数,如

    2024年02月09日
    浏览(48)
  • OpenCV(图像处理)-基于Oython-滤波器(低通、高通滤波器的使用方法)

    低通滤波 :低通滤波可以去除图像的噪音或平滑图像。 高通滤波 :可以帮助查找图像的边缘。 噪音 :即对一幅图像的产生负面效果,过暗或过亮的部分,一幅图像中,低于或高于某个像素点的值,都可以认为是噪音。 卷积核 :即用来滤波的矩阵,卷积核一般为奇数,如

    2024年02月09日
    浏览(42)
  • Matlab图像处理频域滤波实现——巴特沃斯低通、高通、带通带阻滤波器

    巴特沃斯滤波器是一种常用于图像处理的滤波器,它在频域中的传递函数具有更加平滑的过渡,相对于理想滤波器来说,巴特沃斯滤波器可以更好地控制截止频率和滤波器的阶数。下面是巴特沃斯滤波器的不同类型的原理简介: 1.原理 (1)巴特沃斯低通滤波(Butterworth Lowp

    2024年04月09日
    浏览(44)
  • 一文讲懂图像处理中的低通、高通、带阻和带通滤波器

    点击上方“ 小白学视觉 ”,选择加\\\" 星标 \\\"或“ 置顶 ” 重磅干货,第一时间送达 空间域和频域滤波器通常分为四种类型的滤波器——低通、高通、带阻和带通滤波器。在本文中,我们为每一种滤波器提供了注释、代码示例和图像输出。 滤波器类型 低通滤波器:只允许通过

    2024年02月13日
    浏览(29)
  • 【C++】【图像处理】均值滤波 and 高斯滤波 and 中值滤波 (低通滤波器)and Sobel算子边缘提取算法解析(以.raw格式的图像为基础进行图像处理、gray levels:256)

     中值滤波: 中值滤波中的MidValueFind函数的实现就是冒泡排序,最后去中间值返回:  Soble算子边缘提取:     总结: 1、均值、高斯滤波和Sobel算子边缘提取的核心,创建卷积核并确定各个点上的权重,然后将边缘灰度级归零(是否边缘归零按业务需求决定),提取非边缘像

    2024年02月05日
    浏览(44)
  • matalb 图像处理 低通滤波和高通滤波 (理想,巴特沃斯,高斯 含代码)

    1.低通滤波 主要分为理想低通滤波,巴特沃斯低通滤波,高斯低通滤波 理想低通滤波: 其中:对于大小为M*N的图像,频率点(u,v)与频域中心的距离为D(u,v),其表达式为: 下列的D(u,v)都相同 巴特沃斯低通滤波: 高斯低通滤波: 2.高通滤波 理想高通滤波: 巴特沃斯高通滤波

    2024年02月08日
    浏览(25)
  • 【图像处理 】卡尔曼滤波器原理

    目录 一、说明 二、它是什么? 2.1 我们可以用卡尔曼滤波器做什么? 2.2 卡尔曼滤波器如何看待您的问题

    2024年02月06日
    浏览(35)
  • 【数字图像处理】四种常用的滤波器

    空域滤波是在待处理图像f(x,y)上逐点移动模板,在每一点(x,y)的滤波响应通过事先定义的关系来计算。该响应就是空间滤波的输出。 模糊处理,来去除图像中的一些不重要的细节; 消除图像中的高频分量,同时不影响低频分量;高频分量对应途中的边缘等灰度值具有较大变化

    2024年02月07日
    浏览(29)
  • Matlab图像处理之Lee滤波器

       LEE滤波器是一种常用于合成孔径雷达(SAR)图像去噪的滤波器。它能增强图像的局部对比度。今天我们将通过MATLAB来实现这种滤波器。   LEE滤波器是一种基于窗函数的滤波器,其原理是将窗口内的像素进行加权平均,以消除图像中的噪声。这种滤波器通常用于SAR图像

    2024年02月09日
    浏览(31)
  • 《数字图像处理-OpenCV/Python》连载:空间滤波之高斯滤波器

    本书京东 优惠购书链接 https://item.jd.com/14098452.html 本书CSDN 独家连载专栏 https://blog.csdn.net/youcans/category_12418787.html 图像滤波是指在尽可能保留图像细节特征的条件下对目标图像的噪声进行抑制,是常用的图像处理方法。 空间滤波也称空间域滤波,滤波器规定了邻域形状与邻域

    2024年02月02日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包