- 01/23
- 2006
-
QQ扫一扫
-
Vision小助手
(CMVU)
用Laplacian算子检测粒子与线条
陆宗骐 陈芳 王学城
(华东理工大学信息学院,上海 200237)
摘 要:本文在原来的Laplacian算子计算结果中增加偏移量offset,并仅取结果中的正值(与零)部分,以达到检测图象中的点与线条的目的。当对象比背景亮时,offset取1,用于检测明区边缘,为黑底白线;当对象比背景暗时,offset取254,用于检测暗区边缘,为白底黑线。后者类似画家所作的素描,可用于人物素描的制作。图象处理中,此算法可直接用于检测粒子和单点宽的线条,与线条掩模相结合也可检测较粗的线条。文中给出了在DPIV (数字粒子测速技术)、焊缝和菌丝图象中检测粒子与线条的实例。本文还提出了根据单峰直方图下降段的波形分析确定分割阈值的方法。
关键词:Laplacian算子;边缘检测;图象分割;二值化;DPIV
Abstract: In this paper, an offset is added to the result of Laplacian operator and only positive values and zero can be chosen. In this way, both dots and lines can be detected. The offset is selected as 1 to detect the edge of bright area when object is brighter than background, otherwise, offset is selected as 254 to detect the edge of dark area when object is darker than background. The latter is similar to pencil sketch made by painter which can be used to make profile. In image processing, the operator can be used to detect particles and lines directly; it can also be used with line mask to detect thick lines. Examples of particle and line detection in DPIV(Digital Particle Image Velocimetry), welding line and hypha image are proposed in this paper. And also a method to define the threshold is found according to the down part of wave of single peak histogram.
key words: Laplacian Operator; Edge Detection; Image Segmentation; Threshold; DPIV
1 前言
Laplacian算子是少数具有各向同性特点的边缘检测算子之一[1],在图象处理技术中具有重要的地位。自从Prewitt[2]提出8邻点Laplacian算子以来,主要用于通过变号点的检测获得闭合边界线[3],以及利用Laplacian算子响应的符号来确定边缘的方向[4],还可用于边缘增强与孤立点的检测等方面[5]。
但是,由于它对噪声相当敏感,又常产生双象素宽的边缘,且不能提供边缘方向的信息,以往很少直接使用,而是用于已知边缘后确定该象素在图象的暗区或明区一边[6]。
文献[7]介绍了Laplacian算子的素描功能,此功能利用同号的Laplacian算子响应(灰阶)制作素描图象。用于制作人像时,所得图象神态逼真、生动,酷似画家所作的素描,见图1(b)。在图象处理的实际应用中,素描功能也可直接用于检测粒子与单点宽线条,与其它方法相结合也可以检测出较宽的线条。本文介绍这些应用的检测原理以及在DPIV (数字粒子测速技术)、焊缝和菌丝图象中检测粒子与线条的实例。在制作线条掩模时,采用波形分析法来确定单峰直方图图象的分割阈值。
由于在计算机图象中象素的灰度不但取决于象素值,也取决于调色板的设置,本文中有关灰度的结论都是在调色板作标准设置时得出的,即象素值取0值时为黑色,取255值时为白色,中间灰度随象素值的增大而变亮。
2 Laplacian算子的素描功能
4邻点的Laplacian算子[2]的定义如下:
g(i,j) = 4 f(i,j) - f(i-1,j) - f(i+1,j) -
f(i,j-1) - f(i,j+1) (1)
如果不是关心处理结果的符号,而是关心结果数值的大小时,人们往往忽略了一个细节,即象素数据在存储时通常看作取值范围0~255的无符号整数。这样,计算结果不经处理直接存入位图中时,所得的边缘图象中负数部分就丢失了。所以,它只能得到边缘图象中符号为正的一半——明区边缘。如果将处理结果加上偏移量255后情况则相反,原来的正值部分因超限而丢失,而原来的负值部分则移入象素取值范围,且负数绝对值大者结果值较小,即颜色更暗(深),使图象类似于素描[7],见图1(b)。通常,图象中对象较暗,故后者较为常用。本文介绍的检测方法就是建立在这种处理方法之上的,即只利用Laplacian算子检测结果中同号的部分。实际操作时,使用公式(2)。对象比背景亮时,offset取1,对象比背景暗时,offset取254,用以保留处理结果中的过零信息。
g(i,j) = 4 f(i,j) - f(i-1,j) - f( i+1,j) -
f(i,j-1) - f(i,j+1) + offset (2)
3 Laplacian算子检测原理
3.1 象素差的叠加
公式(1) 中的g(i,j) 实际上也可看作当前象素与其各邻点象素值之差的叠加,见公式(3)。
g(i,j) = [f(i,j)-f(i-1,j)]+[f(i,j)-f(i+1,j)]+
[f(i,j)-f(i,j-1)]+[f(i,j)-f(i,j+1)] (3)
对于8邻点时的情况也一样。实际应用可分为3种情况,见图2 (图中C为当前象素)。在图2(a)中,当前象素为孤立点,它要么大于周围所有象素,要么小于周围所有象素,因此这些差值叠加,检测值极大。在图2(b)中,当前象素处于单点宽线条上,它与用B表示的象素数值接近,周围用A表示的象素的数值或全小于或全大于它的值,因此也很容易检测出来。在图2(c)中,当前象素处于两个区域(象素分别用字母A与B表示)的界线上,它或属于A区域,或属于B区域,检测结果的正负可表示它究竟属于哪个区域,正值表示它属于明区,负值表示它属于暗区。
3.2 应用实例
图3~5给出了上述3种情况的应用实例。图3为DPIV图象中检测粒子,由于图象中粒子比背景亮,故采用明区边缘,检测出粒子后即可用于后续速度矢量场的计算。图4为焊缝图象中检测细裂纹;图5为菌丝图象中检测菌丝。由于后两幅图象中线条比背景暗,故采用暗区边缘。图4(b)已将所需线
条检测了出来,图中虽然还有大量噪声粒子,由于强度与形状的不同可以很容易地分离开来。图5(b)中虽然线条已与背景部分分离,但还存在大量噪声需要去除,这需要专门的处理技术,见后文利用掩模提取线条的方法。
三幅图中,图3(b)由于粒子与背景的反差较大,许多粒子的差值累加后超过255而被限幅,其余部分仍为灰阶图象,故此图象为半阈值图象;图4(b)由于图象的反差较小,累加后仍为灰阶图象;图5(b)根据处理结果的符号进行了二值化,故为二值图象。
4 单峰直方图波形分析法
图5(b)中,虽然菌丝线条已与背景相分离,但在图象的其它区域混入了大量干扰,需要去除。此图的特点是在线条两侧都有一条白色的隔离带与周围部分相分隔。由于这条隔离带的存在,只要能找出比线条稍宽但仍在隔离带之内的掩模即能将线条提取出来。此图的直方图呈单峰状态,用常规的阈值选择方法难以得到合适的阈值来分离所需的线条与其他区域。采用直方图分析法却能成功地实现这一要求。
对有突出目标和背景的(双峰)图象,用峰谷法去选择灰度直方图门限是可行的。而对那些在其灰度直方图上难于用谷点作门限的某些(单峰)图象,常常可能在直方图的“肩部”上定义一个好门限。因为谷点和肩部都对应直方图的凹形处,所以可以通过分析直方图的凹形处去确定门限[8]。所谓“肩部”实际上指的是波峰曲线下降段斜率有明显变化(例如下降一倍)的地方,肩部附近若有小的波谷则最好转向此波谷。为了避免少数有大量象素的灰度影响直方图曲线的形状,通常将作为边框或梯度图象中的0背景 (或它的反相值255)排除在直方图统计之外。图6与图7是单峰直方图图象采用波形分析法确定阈值的例子。其中后者得到了图5(b)所需的分割掩模,两者的分割效果都非常好。
表1是三幅单峰直方图图象采用不同算法得到的二值化阈值。从表中可知,单峰直方图波形分析法与最小误差法的结果比较接近。这在理论上也不难解释,因为最小误差法在公式推导时曾假设对象与背景都呈正态分布。而单峰直方图图象中对象部分峰值附近波形平坦,部分已嵌入背景部分。因此,所得阈值会偏向背景部分。图7中因为利用了直方图肩部的小凹坑(实线位置,阈值172),结果比直接用右面肩部(虚线位置,阈值187)有很大改善。
5 掩模法提取线条
用Laplacian边缘检测方法检测得到的二值图象图5(b)与线条掩模图8(a)作逻辑与操作,得到所需的线条图,见图8(b)。
然而,所得线条图象也有一些缺陷,即线条轮廓还不够光滑、完整,有许多缺口需要填补。文献[7]介绍了用Sobel边缘细化算法得到单点宽边缘的方法。用于此菌丝图象可得图8(c)。当然,此图象也用线条掩模屏蔽清除了背景区域的边界。
最后,将单点宽边缘与图8(b)相叠加即得到线宽均匀、光滑、完整,较为理想的菌丝图象,见图8(d)。经整形并消除剩余干扰后,此线条与细化后的线条象素数之比可用于估计菌丝的宽度。
6 结束语
Laplacian算子是图象处理中历史悠久的传统算法,由于其自身的特点,以往虽具理论价值,实际应用却不及Sobel等算子广。本文在对其检测作用重新认识的基础上,介绍了它在3个方面的新应用,即:
⑴ Laplacian算子除了用作边缘检测外,还可用来制作人物素描。
⑵ Laplacian算子公认的弱点在特殊场合可能会有奇效。如在DPIV图象中检测孤立粒子,在焊缝图象中检测单点宽细裂缝。
⑶ 一些用简单算法难以直接解决的问题可以通过几种算法相结合,用综合方法来解决。如在菌丝图象中用掩模法提取线条。
本文还提出了根据单峰直方图下降段的波形分析确定分割阈值的方法。
参考文献
[1] A Rosenfeld. 数字图象处理[M]. 北京:人民邮电出版社,1982: 293~300.
[2] J M S Prewitt. “Object Enhancement and Extraction” in Picture Processing and Psychopictorics[M], B S Lipkin and A Rosenfeld,Eds.,Academic Press, New York.1970.
[3] V Torre and T A Poggio. On Edge Detection[J]. IEEE Trans. Pattern Analysis and Machine Intelligence, PAMI-8,2,March 1986,147~163
[4] A Huertas and G Medioni. Detection of Intensity Changes Using Laplacian-Gaussian Masks[J]. IEEE Trans. Pattern Analysis and Machine Intelligence, PAMI-8,5,September 1986,651~664
[5] R C Gonzalez. 数字图像处理(第二版)[M]. 北京: 电子工业出版社, 2002: 100~104, 460~474
[6] 章毓晋. 图象工程(上册):图象处理和分析[M]. 北京:清华大学出版社,1999: 181~184.
[7] 陆宗骐. C/C++图像处理编程[M]. 北京:清华大学出版社,2005: 209~222.
[8] 王润生. 图像理解[M]. 长沙:国防科技大学出版社,1995: 90~101
- 上一条:智能相机在机器视觉中的应用
- 下一条:图象图形学在木材纹理特征检测中的应用