图像锐化和边缘检测Word文档格式.docx
《图像锐化和边缘检测Word文档格式.docx》由会员分享,可在线阅读,更多相关《图像锐化和边缘检测Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
Sobel算子
Prewitt算子
Laplacian算子(二阶微分)
LOG算子(二阶微分
5、二阶微分
6、实验结果对比
在图像增强过程中,通常利用各类图像平滑算法消除噪声,图像的常见噪声主要有加性噪声、乘性噪声和量化噪声等。
一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像边缘信息也主要集中在其高频部分。
这将导致原始图像在平滑处理之后,图像边缘和图像轮廓模糊的情况出现。
为了减少这类不利效果的影响,就需要利用图像锐化技术,使图像的边缘变得清晰。
图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。
微分运算是求信号的变化率,由傅立叶变换的微分性质可知,微分运算具有较强高频分量作用。
从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。
但要注意能够进行锐化处理的图像必须有较高的性噪比,否则锐化后图像性噪比反而更低,从而使得噪声增加的比信号还要多,因此一般是先去除或减轻噪声后再进行锐化处理。
图像锐化的方法分为高通滤波和空域微分法。
图像的边缘或线条的细节(边缘)部分与图像频谱的高频分量相对应,因此采用高通滤波让高频分量顺利通过,并适当抑制中低频分量,是图像的细节变得清楚,实现图像的锐化,由于高通滤波我们在前面频域滤波已经讲过,所以这里主要讲空域的方法——微分法。
一阶微分运算一阶微分主要指梯度模运算,图像的梯度模值包含了边界及细节信息。
梯度模算子用于计算梯度模值,通常认为它是边界提取算子,具有极值性、位移不变性和旋转不变性。
图像在点处的梯度
定义为一个二维列矢量:
梯度大的幅值即模值,为:
梯度的方向在
最大变化率方向上,方向角可表示为:
对于离散函数
也有相应的概念和公式,只是用差分代替微分。
差分可取为后向差分,前向差分。
在x,y方向上的一阶向后差分分别定义为:
梯度定义为:
其模和方向分别为:
在实际应用中,梯度的模还有很多近似式,如使用x,y方向上差分绝对值替代模来度量
梯度的模(幅值)就是
最大变化率方向的单位距离所增加的量。
由梯度的计算可知,在图像灰度变化较大的边沿区域其梯度值大,在灰度变化平缓的区域梯度值较小,而在灰度均匀的区域其梯度值为零。
我们根据得到的梯度值来返回像素的值,如将梯度值大的像素设置成白色,梯度值小的设置为黑色,这样就可以将边缘提取出来了,或者是加强梯度值大的像素灰度值就可以突出细节了达到了锐化的目的。
根据梯度值,进而对像素的处理一般有三种方式:
锐化是要突出细节(边界),所以要对边缘的像素加强(比如直接用梯度值作为像素的灰度或者RGB的分量),而边缘检测只要根据设置的阀值,超过阀值的像素灰度设为0,否则设为255。
1)辅以阀值判断
设T为阀值,像素的梯度值大于T,则像素的灰度(或者RGB的分量)加上某一个值(如100),加上某一个值(如100)像素的灰度值(或RGB的分量值)后若大于255,取255
2)设以某一特定值
设t为阀值,像素的梯度值大于T,则像素的灰度(或者RGB的分量)设置为某一定值La
3)二值化图像
设T为阀值,像素的梯度值大于T,则像素的灰度(或者RGB的分量)设置为255,否则设置为0
根据图像边界(细节,边缘)的拓扑结构,一阶微分锐化具体又分为单方向的一阶微分锐化和无方向的微分锐化
单方向的一阶锐化是指对某个特定方向上的边缘(细节)信息的进行加强。
最简单的单方向一阶锐化就是水平方向与垂直方向上的锐化。
水平方向的锐化非常简单,通过一个可以检测出水平方向上的像素值的变化模板来实现。
垂直方向只需要将方向改变下就可以得到:
Kirsch算子采用8个模板对图像上的每一个像素点进行卷积求导数,这8个模板代表8个方向,对图像上的8个特定边缘方向作出最大响应,运算(与3*3像素加权之和,就是对应位置相乘后求和)中取最大值作为图像的边缘输出。
下面是8个模板:
问题:
单方向锐化的计算结果中出现了小于零的像素值?
方法1:
整体加一个正整数,以保证所有的像素值均为正。
比如+128,还有<
0的则视为0,若有>
255视为255处理,这样做的结果是:
可以获得类似浮雕的效果。
方法2:
将所有的像素值取绝对值。
这样做的结果是,可以获得对边缘的有方向提取。
无方向一阶锐化问题的提出
前面的锐化处理结果对于人工设计制造的具有矩形特征物体(例如:
楼房、汉字等)的边缘的提取很有效。
但是,对于不规则形状(如:
人物)的边缘提取,则存在信息的缺损。
为了解决上面的问题,就希望提出对任何方向上的边缘信息均敏感的锐化算法。
因为这类锐化方法要求对边缘的方向没有选择,所有称为无方向的锐化算法。
双方向一次微分运算,直接以梯度值代替
理论基础:
对灰度图像f在纵方向和横方向两个方向进行微分。
该算法是同时增强水平和垂直方向的边缘。
利用双方向一次微分运算,算出梯度后让梯度值赋给该点的灰度值。
数学表达式为:
G(i,j)=sqrt{[f(i,j)-f(i,j-1)]*[f(i,j)-f(i,j-1)]+[f(i,j)-f(i-1,j)]*[f(i,j)-f(i-1,j)]}
或G(i,j)=|f(i,j)-f(i,j-1)|+|f(i,j)-f(i-1,j)|
边缘检测
边缘检测算子检查每个像素的领域并对灰度变化率进行量化,通常也包括方向的确定。
大多数是基于方向当属模板求卷积的方法。
将所有的边缘模板逐一作用于图像中的每一个像素,产生最大输出值的边缘模板方向表示该点边缘的方向,如果所有方向上的边缘模板接近于零,该点处没有边缘;
如果所有方向上的边缘模板输出值都近似相等,没有可靠边缘方向
卷积
卷积可以简单的看成加权求和的过程。
下面分别对Roberts算子,Sobel算子,Prewitt算子,Laplacian算子介绍:
(1)无方向一阶锐化——交叉微分
交叉微分算子(Robert算子)计算公式如下:
特点:
算法简单
(2)无方向一阶锐化——Sobel锐化
Sobel锐化计算公式如下:
Sobel边缘算子的卷积和如上图所示,图像中的每个像素都用这两个核做卷积。
Sobel算子认为邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。
一般来说,距离越大,产生的影响越小。
这两个核分别对垂直边缘和水平边缘响应最大,两个卷积的最大值作为该点的输出位。
运算结果是一幅边缘幅度图像。
锐化的边缘信息较强
(3)无方向一阶锐化——Priwitt锐化
Priwitt锐化计算公式如下:
Prewitt算子在一个方向求微分,而在另一个方向求平均,因而对噪声相对不敏感,有抑制噪声作用。
但是像素平均相当于对图像的低通滤波,所以Prewitt算子对边缘的定位不如Roberts算子。
与Sobel相比,有一定的抗干扰性,图像效果比较干净。
几种方法的效果比较
Sobel算法与Priwitt算法的思路相同,属于同一类型,因此处理效果基本相同。
Roberts算法的模板为2*2,提取信息较弱。
单方向锐化经过处理之后,也可以对边界进行增强。
二阶微分锐化——问题的提出
1)对应突变形的细节,通过一阶微分的极值点,二阶微分的过0点均可以检测处理
2)对应细线行的细节,通过一阶微分的过0点,二阶微分的极小值点均可以检测处理。
3)对应渐变的细节,一边情况很难检测,但二阶微分的信息比一阶微分的信息略多。
二阶微分锐化——算法推导
将上面推导的公式写成模板系数形式,即为Laplacian算子:
Laplacian算子利用二阶导数信息,具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。
使得图像经过二阶微分后,在边缘处产生一个陡峭的零交叉点,根据这个对零交叉点判断边缘。