不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法

这篇具有很好参考价值的文章主要介绍了不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法

提示:据说是科大讯飞的算法面试题

知道哪些噪声,分别用什么滤波器处理?


图像噪声

噪声来源灰常多,但主要可以分为三类:

1.来自捕捉源的(acquisition/digitization),比如一个摄像机的镜头、A/D或者sensor;

2.来自图像传输过程(image transmission),传输图像的信道包括无线电、微波、光缆等等,如果通过无线电传输,遇到个风吹雨雪的,自然会有各种噪声了;

3.来自计算过程(computation),比如咱们将浮点型数据转化为整形处理,就会丢失部分信息,但这不属于错误,是把问题简化,所以这也是一种噪声。

所以,图像复原主要是用各种滤波方法去除噪声。

因为噪声的来源飘忽不定,所以噪声的种类很多。
包括
指数噪声(exponential noise)、
均匀噪声(uniform noise)、
脉冲噪声(impulse noise)、
椒盐噪声(salt and pepper noise)(也叫黑白噪声,就是黑白点)、
斑点噪声(speckle noise)(大多在雷达信号里产生)、
瑞利噪声(reyleigh noise)(不太明白这种噪声的来源)、
周期噪声(periodic noise)。

而在一般不知道噪声属于什么类型时,多加入高斯噪声进行模拟。

针对不同噪声选用不同滤波器效果也不同。
常见的处理方法:均值滤波 、中值滤波、高斯滤波、双边滤波器去噪 双边滤波

椒盐噪声与中值滤波去噪

首先,对lena女神加入椒盐噪声,因为椒盐噪声为黑白噪声,所以中值滤波效果应该不错。
试验结果如下图:
不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法
加椒盐噪声
不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法

不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法
用中值滤波去噪:

 
Image image = Image.FromFile("xx.jpg");
Image<Bgr, byte> img = new Image<Bgr, byte>((Bitmap)image);//实例化一个三通道的OPENCV的图像对象
Int k=3;//滤波核,奇数
 img =img.SmoothMedian(k);//按照指定的滤波核进行中值滤波
Bitmap bitmap= img.Bitmap;//输出Bitmap格式的结果

不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法

不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法
经过中值滤波,基本恢复原始图像

均值滤波

 
Image image = Image.FromFile("xx.jpg");
Image<Bgr, byte> img = new Image<Bgr, byte>((Bitmap)image);//实例化一个三通道的OPENCV的图像对象
Int k=3;//滤波核,奇数
img = img. SmoothBlur (k,k);//按照指定的滤波核进行均值滤波
Bitmap bitmap= img.Bitmap;//输出Bitmap格式的结果

不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法


高斯噪声与高斯滤波去噪

再对原始图像加入高斯噪声。

因为高斯噪声的范围遍布所有灰度级,所以,任何一种低通、高通、带通滤波器都无法完全将其滤除,我们只能尽可能的获得较好效果。
经过查资料,滤除高斯噪声的主要方法有:
平滑线性滤波、
高斯滤波、
维纳滤波还有
小波去噪(小波去噪有些复杂,今天没做)。

下图是加入高斯噪声的效果。
不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法
加高斯噪声
不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法
下面分别是针对高斯噪声,采用平滑线性滤波、高斯滤波、维纳滤波处理的直观效果。
不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法
不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法
不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法
直观上看平滑线性滤波没有高斯滤波和维纳滤波效果好。

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,普遍应用于图像处理的减噪过程。

高斯滤波就是对整幅图像进行加权平均的过程,每个像素点的值,
都由其自己和邻域内的其余像素值通过加权平均后获得。

高斯滤波的具体操做是:用一个模板(或称卷积、掩模)扫描图像中的每个像素,
用模板肯定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

双边滤波器去噪

双边滤波器(Bilateral filter)是一种能够保边去噪的滤波器。

能够滤除图像数据中的噪声,且还会保留住图像的边缘、纹理等
(因噪声是高频信号,边缘、纹理也是高频信息
高斯滤波会在滤除噪声的同时使得边缘模糊)。

是使用一个卷积核(模板矩阵),叠加到待处理像素点上,
使用对应邻域像素点的加权求和来做为新的输出像素点的值一种方法,
简单来讲,双边滤波和高斯滤波同样,不一样只在于模板矩阵的不一样。

 
Image image = Image.FromFile("xx.jpg");
Image<Bgr, byte> img = new Image<Bgr, byte>((Bitmap)image);//实例化一个三通道的OPENCV的图像对象
Int k=3;//滤波核,奇数
CvInvoke.EdgePreservingFilter(img, img, EdgePreservingFilterFlag.NormconvFilter, k, 0.4f);;//按照指定的滤波核进行双边滤波
Bitmap bitmap= img.Bitmap;//输出Bitmap格式的结果

小波去噪

将信号经过小波变换(采用Mallat算法)后,
信号产生的小波系数含有信号的重要信息
,将信号经小波分解后小波系数较大,噪声的小波系数较小,

而且噪声的小波系数要小于信号的小波系数,
经过选取一个合适的阀值,大于阀值的小波系数被认为是有信号产生的,应予以保留,
小于阀值的则认为是噪声产生的,置为零从而达到去噪的目的。

离散余弦变换DCT滤波

不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法
时间域相对于空间域增加了一个时间维度,
可以对不同时间段的图像进行处理,
对时域噪声有很好的抑制作用。

而频率域又是一个全新的维度,换个角度看问题,
将图像转换到频域,高频部分代表图像的细节、纹理信息,
低频部分代表图像的轮廓信息,可以再特定的“频率”范围内对图像进行处理,
就像是用显微镜看图像一样,能挖掘图像更加广阔的信息。

不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法

离散余弦变换是一种频率域转为到空间域的数学工具(函数),
它为频率域与空间域架起一座桥梁。

离散余弦变换是**离散傅里叶变换(DFT)**的一种特殊形式,特殊点就在于其原始变换信号是一个实偶函数。

DCT变换较DFT变换具有更好的频域能量聚集度,
那么对于那些不重要的频域区域和系数就能够直接裁剪掉,
因此,DCT变换非常适合于图像压缩算法的处理,
例如现在大名鼎鼎的jpeg就是使用了DCT作为图像压缩算法。

二维DCT变换公式如下:

不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法
由公式我们可以看出,上面只讨论了二维图像数据为方阵的情况,
在实际应用中,如果不是方阵的数据一般都是补齐之后再做变换的,
重构之后可以去掉补齐的部分,得到原始的图像信息,这个尝试一下,应该比较容易理解

另外,由于DCT变换高度的对称性,
在使用Matlab进行相关的运算时,我们可以使用更简单的矩阵处理方式:
不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法

clear;
clc;
% 正变换
X=round(rand(4)*100)   %产生随机矩阵
A=zeros(4);
for i=0:3
    for j=0:3
        if i==0
            a=sqrt(1/4);
         else
             a=sqrt(2/4);
         end            
         A(i+1,j+1)=a*cos(pi*(j+0.5)*i/4);
    end
end

Y=A*X*A'        %DCT变换

%反变换
for i=0:3
    for j=0:3
         if i==0
             a=sqrt(1/4);
         else
             a=sqrt(2/4);
         end            
         A(i+1,j+1)=a*cos(pi*(j+0.5)*i/4); %生成变换矩阵
     end
end

X1=A'*Y*A  %DCT反变换恢复的矩阵

% Matlab版
YY=dct2(X)      %Matlab自带的dct变换
XX=idct2(YY)    %Matlab自带的idct逆变换

%读取图像
X=imread('lena.jpg'); 
X=rgb2gray(X);
%读取图像尺寸
[m,n]=size(X); 
%给图像加噪
Xnoised=imnoise(X,'gaussian',0.01); 
%输出加噪图像
subplot(121); 
imshow(Xnoised);
%DCT变换
Y=dct2(Xnoised); 
I=zeros(m,n);
%高频抑制
I(1:m/3,1:n/3)=1; 
Ydct=Y.*I;
%逆DCT变换
Y=uint8(idct2(Ydct)); 
%结果输出
subplot(122);
imshow(Y);

不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法


总结

提示:重要经验:

1)噪声有椒盐噪声、高斯噪声等等
2)中值滤波,均值滤波应对椒盐噪声,高斯平滑,双边滤波(双线性变换),应对高斯噪声,还有小波变换,DCT变换滤波
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。文章来源地址https://www.toymoban.com/news/detail-449807.html

到了这里,关于不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发)

    利用MATLAB GUI设计平台,用窗函数法设计FIR数字滤波器,对所给出的含有噪声的声音信号进行数字滤波处理,得到降噪的声音信号,进行时域频域分析,同时分析不同窗函数的效果。将文件解压至一个目录下,运行m文件即可使用。 读取.wav音频文件函数 :audioread();(老版

    2024年02月08日
    浏览(40)
  • 【使用维纳滤波进行信号分离】基于维纳-霍普夫方程的信号分离或去噪维纳滤波器估计(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 维纳滤

    2024年02月14日
    浏览(39)
  • 通过将信号频谱与噪声频谱进行比较,自动检测适当的带通滤波器转折频率研究(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 corner

    2024年02月12日
    浏览(30)
  • 【图像处理:频率域平滑与锐化】理想滤波器,巴特沃思滤波器,高斯滤波器

    本文主要介绍频率域滤波器,此处的频率域是基于傅立叶变换得出。 在一幅图像中, 低频对应图像变化缓慢的部分 ,即图像大致外观和轮廓。 高频部分对应图像变化剧烈的部分即图像细节 。低通滤波器的功能是让低频率通过而滤掉或衰减高频,其作用是过滤掉包含在高频

    2024年02月04日
    浏览(37)
  • 图像处理之高通滤波器与低通滤波器

    目录 高频与低频区分: 高通滤波器: 1.傅里叶变换: 低通滤波器: 总结:         在了解图像滤波器之前,先谈一下如何区分图像的高频信息和低频信息,所谓高频就是该像素点与周围像素差异较大,常见于一副图像的边缘细节和噪声等;而低频就是该像素点与周围像素

    2023年04月09日
    浏览(36)
  • 图像处理之理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器的matlab简单实现

    一、前言 高通滤波器的功能是让高频率通过而滤掉或衰减低频,其作用是 使图像得到锐化处理,突出图像的边界 。经理想高频滤波后的图像把信息丰富的低频去掉了,丢失了许多必要的信息**。一般情况下,高通滤波对噪声没有任何抑制作用**,若简单的使用高通滤波,图像质

    2023年04月25日
    浏览(32)
  • 图像滤波器

    图像噪声         • 图像噪声是图像在获取或是传输过程中受到随机信号干扰,妨碍人们对图像理解及分析处理 的信号。         • 图像噪声的产生来自图像获取中的环境条件和传感元器件自身的质量,图像在传输过程中产 生图像噪声的主要因素是所用的传输信道

    2024年02月16日
    浏览(31)
  • MATLAB 图像滤波器

    实验目的   –  继续熟悉仿真工具MATLAB –  巩固图像读取与显示的方法 –  掌握给图像添加噪声的方法 –  掌握图像空间域的滤波方法 –  掌握图像频率域的滤波方法 实验原理 空间域平滑操作 (1) 高斯噪声 是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。

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

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

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

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

    2024年02月09日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包