提取连通分量算法在棒材自动计数中的应用*

2011-07-25 00:34周文欢郑力新
网络安全与数据管理 2011年18期
关键词:棒材形态学轮廓

周文欢,郑力新

(1.华侨大学 信息科学与工程学院,福建 厦门 361000;2.华侨大学 信息科学与工程学院,福建 泉州 362021)

目前国内的很多钢材生产企业对棒材的计数主要通过人工来完成。人工计数不仅耗费工人大量的时间,而且容易引起人眼的疲劳,会产生较大误差,给企业造成一定的经济损失,因此企业急需开发出一种准确率高、适应性强的棒材自动计数系统。但是工业生产现场的环境恶劣,如捆扎棒材的堆放较近以及现场的一些光线等问题,使采集的图片质量较差,端面粘连比较严重,给棒材的计数增添了很大麻烦。针对这些问题,提出了一种基于提取连通分量的方法来实现目标棒材区域的自动定位分割,标注区域的连通分量,并通过区域周长校正方法,很好地解决了上述问题。

1 棒材自动计数系统设计与实现

棒材自动计数系统流程框图如图1所示,其主要分为采集、预处理与计数三个阶段。其中,图像采集属于采集阶段;图像平滑去噪、图像二值化、区域定位分割、形态学处理为预处理阶段;而标注连通分量、利用区域周长法进行校正实现对棒材的准确计数为计数阶段。

图1 棒材自动计数系统的流程框图

1.1 图像的采集阶段

利用摄像头对棒材端面进行拍摄,获取工业生产现场的棒材端面图片。但由于工业现场的噪声、光照以及其他的一些反光物体的影响,拍摄的图像质量很差,这给后续的图像处理与棒材的计数带来了很大难度。因此,应该在采集图像阶段尽可能地获得质量较好的图片,要求拍摄时应与棒材横截面的光照平行,有均匀、恒定和较高的照度,以减弱现场光照与其他反光物体等对采集图片质量的影响。图2、图3所示为不同采集环境下采集的图片。

1.2 图像的预处理阶段

1.2.1 图像的平滑

图像平滑是一种可以减少和抑制图像噪声的实用数字图像处理技术。由于工业现场的随机噪声较大,在此采用一种改进的中值滤波方法对采集的棒材端面图像进行平滑去噪。

改进的中值滤波算法的思想是:逐行扫描图像,当处理每一个像素时,判断该像素是否是滤波窗口覆盖下领域像素的极大或者极小值,如果是,则采用正常的中值滤波处理该像素;如果不是,则不予处理。

在实践中该方法能够非常有效地去除突发噪声点,尤其是椒盐噪声,而且几乎不影响边缘。

1.2.2 图像的二值化

图像的二值化即选择一个阈值,将图像上的像素点的灰度值设置为0或255,令整个图像呈现出明显的黑白效果。在本文中,鉴于平滑后的棒材端面图像目标与背景像素的比例相差不大,可对图像进行二值化,能得到比较理想的效果。对图2和图3进行二值化的结果分别如图 4、图5所示。

提取连通分量[2-3,9-10]是针对二值图像而言的,因此提取连通分量是提取相应二值图像的连通分量。算法实现的步骤如下:

①确定一个对应于4连通和8连通[9]的3×3的模板结构元素,并初始化连通分量的标号为1。

②备份要标注连通分量的原图像,将图像的四周边界置为黑色(算法不处理边界上的点),分配与原图像大小相同的目标图像空间,并初始化为全0(黑色为背景色,白色为前景色)。

③找到一个前景点 (即像素值为255),初始化目标图像为只有连通区中的一点,从这一个点开始用3×3模板结构元素进行膨胀,计算和原图像的交集,限制膨胀不会超出区域。不断执行上述过程,直到与上一次膨胀后的结果相同,说明该连通区域已经提取完毕。

④用标号标注刚刚找到的连通区 (即将唯一的标号赋给该连通区内的所有像素),记录当前连通区所有点的坐标,并将连通区标号加1以标注下一个连通区。

⑤循环执行步骤④~步骤⑤,直到找到所有的连通区域。

(2)棒材计数区域的自动定位分割算法

算法的实现步骤如下:

①对经过预处理与二值化的图像进行形态学处理,由于闭运算对目标图像的整体边界影响不大,在此对二值图像进行两次闭运算处理。

②用提取连通分量的算法来标注通过闭运算处理后的图像中的每一个连通区域,并计算每一个连通区域的像素数,即连通区域的面积。在实际应用中,要检测的目标区域的面积应该是图像连通区域的面积中最大的,可以利用这一点,对区域进行准确的定位。图像中连通面积最大外接矩形即为要处理的目标区域,如图6所示。

1.2.3 区域的自动定位分割

从平滑、二值化后的图片可以发现,由于工业现场复杂,不是所有的图片进行预处理后都能得到比较理想的效果,如捆扎棒材堆放较近,或者周围有什么反光物体,都会给计数带来很大的麻烦。如图5所示,即使通过形态学处理,要直接对目标区域进行准确的计数也是不可能的。对于这样的目标区域,以往都采用手动分割,这给棒材的自动计数带来了不必要的麻烦。本文提出了一种基于提取连通分量算法的自动定位分割算法,能准确地提取出目标图像矩形区域。具体方法如下:

(1)提取连通分量算法

③矩形区域的确定。通过提取连通分量算法找到连通区域面积最大的区域(即找到连通区域标号相同像素数目最多的区域),计算最大连通区域中像素点坐标的水平方向与竖直方向的最小值、最大值以确定相应的轮廓最小矩形区域,并通过这个最小矩形区域从原始图像分割出目标区域,如图7所示。

1.2.4 目标图像的形态学处理

对定位分割出的目标图像进行二值化,虽然经过了滤波处理,但噪声、区域粘连比较严重,要对其进行准确计数,应先对图像进行腐蚀、膨胀、开与闭运算等相应处理,以填充小的空洞,去除粘连与噪声。

本文选择3×3的矩形结构元素与十字形结构元素结合,对自动定位的目标图像进行相应的形态学处理,处理结果如图8、图9所示。

1.3 计数阶段

1.3.1 标注连通分量

在此用的标注连通分量算法与前文提取连通分量算法类似,但这里是用其来实现轮廓的标注,以方便后面的棒材的计数与校正。

1.3.2 计数与区域周长校正

对棒材实现准确的计数,在这里给出两种方式,即形态学处理后的有粘连的棒材计数以及形态学处理后无粘连棒材的计数。若通过形态学处理后的二值图像的轮廓区域没有粘连,则实际的棒材的根数即为提取的连通区域的个数。但在实际应用中,有些图像不论是进行怎样的形态学处理,要对粘连区域进行理想分割是很难实现的。当然可以采用参考文献[4]提出的区域面积法来实现棒材计数的校正,但是当区域腐蚀到一定程度时,区域变成扁平的形状时,区域面积变得越来越小,区域面积校正法变得越来越不准确。但是区域的周长变化并不是很大,因此提出了一种基于区域周长校正的方法对棒材计数校正,对其能有很大程度改善,并有极高的准确率。

区域周长校正的具体步骤如下:

①计算所有提取外轮廓的周长,轮廓周长的计算采用Freeman链码表[5-6]跟踪轮廓边界的方式来实现,其计算的公式为:

其中,Noven为轮廓边缘的链码为偶数的个数,Nodd为轮廓边缘链码为奇数的个数,Perimeter为轮廓的周长。

②设定平均每个区域周长为meanperimeter,其计算公式为:

其中,参数Perimeter(i)为第i个区域的周长,N为提取的区域连通分量的个数。

③根据大量的实验统计分析,制定校正规则如下:

(a)当 1.4×meanperimeter<Perimeter(i)<2.5×meanperimeter时,校正系数为 1,即棒材总数加 1;

(b)当 2.5×meanperimeter<Perimeter(i)<3.5×meanperimeter时,校正系数为 2,即棒材总数加 2;

(c)当 3.5×meanperimeter<Perimeter(i)<4.5×meanperimeter,校正系数为3,即棒材总数加3;

(d)当 Perimeter(i)>4.5×meanperimeter 时,说 明 粘 连太严重,提示图像处理不够理想,请重新处理。

2 实验结果与数据分析

在VS 2008+Opencv 2.1平台下编写棒材自动计数的MFC界面程序进行实验,实验图片为某钢厂现场采集的8幅不同棒材端面图像,并与参考文献[4]采用的面积法进行比较,测试结果如表1所示。

表1 不同捆扎棒材的测试结果

对其中的两幅图像进行分析,如图10和图11所示,图10棒材的实际根数是140,检测值为140根,轮廓数是130,周长校正系数为 10;图 11实际根数是 120,检测值为119,其中轮廓数是106,校正系数为13。其原因是图像采集与预处理不够理想,导致形态学处理之后实际的根数少了1根。针对这一情况,笔者猜想通过一种选择性腐蚀算法来进行相应改进,应该能得到比较理想的结果。

从实验数据分析可知,本文提出的方法不仅对经过形态学处理效果较理想的图片准确率高达100%,而且对处理效果不是很理想的图片亦有极高的准确率。

尽管由于现场环境恶劣等原因,采集的图片质量较差,致使棒材计数变得困难,但本文提出了一种基于提取连通分量的方法,实现了目标棒材计数区域的准确定位,使得不必再通过手工去确定目标棒材计数区域,以实现棒材计数真正的自动化。本文提出了一种区域轮廓周长的校正方法,能很好地实现粘连棒材的准确计数,测试结果说明了该方法的有效性、可行性与准确性,且对类似场合的粘连计数具有一定的通用性。

[1]0TSU N.A threshold selection method from gray 1evel histograms[J].IEEE Transactions on System Man and Cybernetic,1979,9(1);62-66.

[2]SKOURIKHINE A N.Dilated contour extraction and component labeling algorithm for object vector respresentation.Mathematical methods in pattern and image analysis:Proceedings of SPIE,2005,5916:1.

[3]Yan Shiju,Wang Chengtao.Application of a fast connected components labeling algorithm in processing landmark images[J].Journal of Shanghai Jiaotong University,2007,12(3):383-387.

[4]丁大弓朋,黄欢,罗山.基于图像处理技术的棒材自动计数方法[J].山西电子技术,2008(3):41-42.

[5]宋凯,纪建伟.链码表和线段表在计算机图像处理中的应用[J].辽宁工程技术大学学报,2007(02):257-259.

[6]吴元敏.基于Freeman链码的图像中多个区域面积的计算方法[J].计算机工程与应用,2008(15):199-201.

[7]成鹏飞 ,杨帆,言立强,等.基于机器视觉的钢棒自动计数系统[J].冶金自动化,2008,32(1):22-26.

[8]邓凯.针对钢筋计数系统的图像处理方法研究[D].南京:东南大学,2006.

[9]张铮,王艳平,薛桂香.数字图像处理与机器视觉[M].北京:人民邮电出版社,2010.

[10]GONZALEZ R C,WOODS R E,EDDINS S L.数字图像处理[M].阮秋琦,译.北京:电子工业出版社,2005.

猜你喜欢
棒材形态学轮廓
昆玉棒材轧制产线提速增效工艺改进措施
棒材车间集中监控系统优化及应用
OPENCV轮廓识别研究与实践
提高棒材定尺率生产实践
基于实时轮廓误差估算的数控系统轮廓控制
高速公路主动发光轮廓标应用方案设计探讨
医学微观形态学在教学改革中的应用分析
数学形态学滤波器在转子失衡识别中的应用
TC17钛合金超大规格棒材的制备
巨核细胞数量及形态学改变在四种类型MPN中的诊断价值