基于Halcon的特征点提取应用研究

2016-05-14 22:11杨雪荣李光成
数字技术与应用 2016年7期
关键词:图像处理

杨雪荣 李光成

摘要:特征点的提取在一定的意义上可以理解为图像的识别和定位,传统的定位点提取方法有手动区域选择法、自动图像分割法、XLD模板法等,本文提出了一种新的定位点识别方法,即通过两条线的交点形成定位点。经实际测试,证明这种方法在多种复杂的图像环境中可以对定位点进行定位和识别,并得到较高的定位精度。实验结果也表明该方法还可以应用到其他一些图形物体的图像识别中。

关键词:Halcon 图像处理 边缘提取 自动光学检测

中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2016)07-0086-02

点特征主要指明显点,如角点、原点等。提取点特征的算子称为兴趣算子或有利算子,即运用某种算法从影像中提取我们所感兴趣的即有利于某种目的的点,现在已提出了一系列算法各异、且具有不同特色的兴趣算子,比较知名的有Moravec算子与Harris算子等。

1 基于几何性质的识别方法

1.1 用dyn_threshold特征点图像的局部阈值分割图像

阈值分割就是将图像分割为目标和背景,dyn_threshold根据像素所满足的阈值条件来分割图像。

使用dyn_threshold,可以提取对象的轮廓。提取的对象的大小是由低通滤波器的掩膜的大小和对象的边缘幅度来决定的:选择的掩膜尺寸越大,找到的区域越大。这里我们设为40。

1.2 特征区域的提取

通过观察可以发现,我们想要得到的区域是做了connection连通性分析之后面积最大的区域,所以运用select_shape_std可以得到我们的目标区域。

随着光照条件以及外界的各种因素的影响,通过以上方法得到的边界区域可能不是一个整体,在select_shape_std中也得不到我们的目标区域,所以我们还要运用其他的Blob分析方法将其连为一个整体,本例中运用的是select_gray和闭运算。

1.3 检测线的生成和边界的提取

生成检测线的目的是为了将以上步骤生成的开放区域变成一个封闭的区域/,利用fill_up对这个区域进行填充/,为了得到区域的边界,必须对区域进行开运算以消除非ROI区域,然后用boundary算子就可以得到区域的边界线。

1.4 计算重心和边界点的提取

利用area_center算子计算上述步骤中的中心坐标,分别作垂直于R轴和C轴的两条直线,务必保证两条直线与上边界和左边界产生各产生一个交点,为下面以点为基础膨胀出两条边界线做准备。

1.5 边界线的提取

自定义一个2*3的矩形结构体,以上边界点和左边界点为基础膨胀,膨胀一次完成与边界进行取交集运算,依此类推,进行200次循环即可得到上边和左边两条独立的边界线

1.6 优化边界

相对于图像image和区域Region,这些数据结构是像素精度的,在实际工业应用中,需要比像素分辨率更高的精度,这时就需要提取亚像素精度数据。提高边界的精度,其过程如下:

(1)将区域转化为XLD,其代码如下:

gen_contour_region_xld(TempRegionInter1, Contours1, 'border')

(2) 对XLD进行平滑处理,其代码如下:

smooth_contours_xld(Contours1,Contours1,45)

(3)将XLD转化为区域,其代码如下:

gen_region_contour_xld(Contours1,TempRegionInter1,'filled')

(4)对区域进行骨架化处理(它仍然是Region不是XLD),其代码如下:

skeleton(TempRegionInter1, Skeleton1)

(5)将骨架转化为XLD(此时是亚像素精度),其代码如下:

gen_contours_skeleton_xld(Skeleton1, Contours1, 5, 'generalize1')

(6)将XLD拟合为一条直线,此时的精度最高,其代码如下:

fit_line_contour_xld(Contours1, 'tukey', -1, 0, 5, 2, RowBegin1, ColBegin1, RowEnd1, ColEnd1, Nr, Nc, Dist)

(7)将拟合的直线表示出来,其代码如下:

gen_region_line(Line1,RowBegin1, ColBegin1, RowEnd1, ColEnd1)

同理,也可将左边界进行优化。

1.7 角点的提取

通过fit_line_contour_xld可以得到直线的起始坐标,上述已求出两条直线的起始坐标,通过intersection_ll即可算出角点所在如图1图2所示。

2 实验结果及分析

为了验证本文算法的有效性,选择2幅图像按实验流程进行实验,图像角点位置误差、算法时间如表1所示。

表1说明本文的基于几何性质的方法能够很快计算出定位点的相对精确位置,如果在C或者其他更低级的语言环境中,程序执行的时间还将被缩短。相比Moravec和Harris算子的方法,我们提出的方法是可以在较短的找到角点,并且提供角点在图像上的坐标如图3图4所示。

3 结语

提出了一种工业自动检测中定位点的方法,它是利用两条直线形成一个交点的原理定位点的位置,在定位点的过程中,噪声干扰对定位精度的影响相当大,所以在局部阈值分割之前的滤波操作非常重要,通过该算法处理绝大部分噪声能被成功移除,即使在定位点图像二值化过程中其边缘出现一定程度噪声干扰的情况下,定位点也能够被相当准确的快速定位。以上的实验流程切实可行,且实验结果达到了预期的要求,由此证明本文所构建的特征点提取具有较强的实用价值。

参考文献

[1]卢泉奇,苗同升.基于Halcon的机械手视觉抓取应用研究[M].光学仪器,2014.

[2]陈克勇,王辅明.工业光学检测中定位点的识别[J].计算机应用,2007.

[3]蔡自兴.机器人学[M].北京:清华大学出版社,2000.

[4]李洪海,王敬东.摄像机标定技术研究[J].光学仪器,2007.

[5]刘源泂,孔建益,王兴东 等.双目立体视觉系统的非线性摄像机标定技术[J].计算机应用研究,2011,28(9):3398-3400.

猜你喜欢
图像处理
海战场侦察图像处理技术图谱及应用展望
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
改进压缩感知算法的图像处理仿真研究
基于图像处理的定位器坡度计算
基于图像处理的晶圆表面缺陷检测
对图像处理中ROF全变分模型的两种算法的比较研究