您的位置:首页 > 运维架构

OpenCV之图像平滑处理

2014-05-07 00:21 267 查看
一幅原始图像在获取和传输过程中会受到各种噪声的干扰,使图像质量下降,对分析图像不利。反映到画面上,主要有两种典型的噪声。一种是幅值基本相同,但出现的位置很随机的椒盐噪声。另一种则每一点都存在,但幅值随机分布的随机噪声。为了抑制噪声、改善图像质量,要对图像进行平滑处理。

几种常见的噪声
图像常常被强度随机信号(也称为噪声)所污染.一些常见的噪声有椒盐(Salt& Pepper)噪声、脉冲噪声、高斯噪声等.
椒盐噪声含有随机出现的黑白强度值.
脉冲噪声则只含有随机的白强度值(正脉冲噪声)或
黑强度值(负脉冲噪声).
高斯噪声含有强度服从高斯或正态分布的噪声.(与前两者最大不同点)
研究滤波就是为了消除噪声干扰

图像滤波,即在尽量保留图像细节特征的条件下对目标像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接响到后续图像处理和分析的有效性和可靠性。
  
由于成像系统、传输介质和记录设备等的不完善,数字图像在其形成、传输记录过程中往往会受到多种噪声的污染。另外,在图像处理的某些环节当输入的像对象并不如预想时也会在结果图像中引入噪声。这些噪声在图像上常表现为一引起较强视觉效果的孤立象素点或象素块。一般,噪声信号与要研究的对象不相关它以无用的信息形式出现,扰乱图像的可观测信息。对于数字图像信号,噪声表为或大或小的极值,这些极值通过加减作用于图像象素的真实灰度值上,在图像造成亮、暗点干扰,极大降低了图像质量,影响图像复原、分割、特征提取、图识别等后继工作的进行。要构造一种有效抑制噪声的滤波机必须考虑两个基本问题能有效地去除目标和背景中的噪声;同时,能很好地护图像目标的形状、大小及特定的几何和拓扑结构特征。
几种滤波方式的介绍

频率滤波 :需要先进行傅立叶变换至频域处理然后再反变换回空间域
还原图像

空域滤波:直接对图像的数据做空间变换达到滤波的目的。它是一种邻域运算,即输出图像中任何像素的值都是通过采用一定的算法,根据输入图像中对用像素周围一定邻域内像素的值得来的。

线性滤波 :输出像素是输入像素邻域像素的线性组合 。(例如最常见的均值滤波和高斯滤波)

非线性滤波 :输出像素是输入像素邻域像素的非线性组合 (中值滤波、
边缘保持滤波等)。

图像滤波的计算过程分析

滤波通常是用卷积或者相关来描述,而线性滤波一般是通过卷积来描述的。他们非常类似,但是还是会有不同。下面我们来根据相关和卷积计算过程来体会一下他们的具体区别:

卷积的计算步骤:

(1)卷积核绕自己的核心元素顺时针旋转180度

(2)移动卷积核的中心元素,使它位于输入图像待处理像素的正上方

(3)在旋转后的卷积核中,将输入图像的像素值作为权重相乘

(4)第三步各结果的和做为该输入像素对应的输出像素

相关的计算步骤:

(1)移动相关核的中心元素,使它位于输入图像待处理像素的正上方

(2)将输入图像的像素值作为权重,乘以相关核

(3)将上面各步得到的结果相加做为输出

可以看出他们的主要区别在于计算卷积的时候,卷积核要先做旋转。而计算相关过程中不需要旋转相关核。

例如:magic(3) =[8 1 6;3 5 7;4 9 2],旋转180度后就成了[2
9 4;7 5 3;6 18]
也称模糊处理,常用来减少图像噪声或者失真,降低图像分辨率。

其实,平滑处理就是对输入图像进行滤波,因此需要滤波器,包含线性滤波器和非线性滤波

线性滤波器处理的输出像素实际就是输入像素与滤波器(也称为核)的加权和。

输出像素 g(i,j) = 输入像素(∑f(i + k,l + j) * h(k,l));h(k,l)仅仅是一个加权系数。也就是说,滤波器就是一个包含加权系数的窗口,滑过图像。常用的线性滤波器有:

1.简单模糊->其实就是归一化滤波器

核:



窗口中输入图像对应像素的简单平均值,也可以不缩放,即不做平均(上式不用系数)。大的孤立点,影响均值波动。

2.高斯滤波->用卷积核与输入图像的每个像素卷积,将最终计算结果之和作为输出图像的像素值。

它使用于真实图像在空间内像素变化缓慢,邻近点的像素变化不会很明显,但是随即两个点就可能形成很大的像素差,正是基于这一点,高斯滤波在保留信号的条件下减少噪声,但该方法在边缘就无效了,会磨平边缘。

3.中值滤波->将中心像素的正方形领域内的每个像素用中间值替换。可改善简单模糊的缺点。

4.双边滤波->因为某些滤波器不仅会消除噪声,还会连同边缘一起磨掉,而双边滤波则可以在一定程度上避免这种滤波。但会很慢。

双边滤波与高斯滤波类似,对相似的像素赋予较高的权重,不相似的基于较低权重,分两部分,第一部分与高斯相同,第二部分也属于高斯加权,但不是基于空间距离,而是基于其他像素与中心像素的灰度差加权。可用于图像分割。

http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/gausian_median_blur_bilateral_filter/gausian_median_blur_bilateral_filter.html




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: