编码靶标及基于编码靶标的定位与解码方法与流程

文档序号:34688234发布日期:2023-07-05 23:35阅读:47来源:国知局
编码靶标及基于编码靶标的定位与解码方法与流程

本发明涉及一种编码靶标及基于编码靶标的定位与解码方法。


背景技术:

1、在视觉测量的许多应用中,通常通过在被测物表面布置编码靶标,然后识别靶标并求取靶标中心图像坐标,最后利用视觉测量算法完成对目标的三维测量任务。根据编码图案特征的不同,编码靶标主要分为环形编码靶标、方形编码靶标和分布式编码靶标。这些靶标的编码区域较大,导致靶标整体尺寸较大,布置靶标时占用较多的区域面积,而且定位圆区域较小,导致靶标中心的定位精度不够高。传统编码靶标的解码方法一般直接对检测到的编码点进行二进制解码,对编码点误识别的情况容错率较低。


技术实现思路

1、本发明的目的在于提供一种编码靶标及其高精度定位与解码方法,包括:

2、该靶标由两个同心定位圆和编码点组成,同心定位圆用于靶标的高精度定位,内同心圆区域为白色,外同心圆与内同心圆之间的环形区域为黑色,编码点为白色并分布该环形区域,用于靶标解码识别。

3、该编码靶标的高精度定位与解码方法:

4、步骤s1,使用已标定的相机对靶标拍照获取靶标灰度图image0;

5、步骤s2,通过相机标定的畸变系数对靶标图像进行畸变校正得到无畸变的靶标图像image1;

6、步骤s3,对image1进行自适应二值化处理,得到二值图像image2;

7、步骤s4,提取image2中的轮廓;

8、步骤s5,遍历每一段轮廓,对其进行如下步骤的操作:

9、步骤s6,找到该轮廓的最左点和最右点,并由这两点确定一条直线,遍历该轮廓的每一个点,判断该点如果在直线上方,则进行步骤s7,否则进行步骤s8;

10、步骤s7,如果该点临近的上方点灰度值大于该点临近的下方点灰度值,则该点可能是靶标外定位圆轮廓点,记该点为有效轮廓点;

11、步骤s8,如果该点临近的上方点灰度值小于该点临近的下方点灰度值,则该点可能是靶标外定位圆轮廓点,记该点为有效轮廓点;

12、步骤s9,如果该轮廓上有效轮廓点数与总轮廓点数的比例大于阈值0.4,则该轮廓可能是靶标外定位圆轮廓,对该轮廓进行椭圆拟合,得到椭圆的长短轴、旋转角与中心点坐标;

13、步骤s10,遍历该轮廓所有轮廓点,计算每个轮廓点与拟合椭圆的最近欧式距离,如果该距离小于阈值,则该点可能是外定位圆轮廓上的点;

14、步骤s11,如果有效轮廓点数与如果该轮廓上有效轮廓点数与总轮廓点数的比值大于阈值0.7,则该轮廓是靶标外定位圆粗定位轮廓,记该轮廓为counter_out_pre;

15、步骤s12,以counter_out_pre的拟合椭圆的外接矩形作为roi区域,提取image1图像中对应roi区域内的所有轮廓;

16、步骤s13,遍历roi的每一段轮廓,对其进行如下步骤操作:

17、步骤s14,找到该轮廓的最左点和最右点,并由这两点确定一条直线,遍历该轮廓的每一个点,判断该点如果在直线上方,则进行步骤s15,否则进行步骤s16;

18、步骤s15,如果该点临近的上方点灰度值小于该点临近的下方点灰度值,则该点可能是靶标内定位圆或编码的轮廓点,记该点为内圆有效轮廓点,否则记该点为外圆有效轮廓点;

19、步骤s16,如果该点临近的上方点灰度值大于该点临近的下方点灰度值,则该点可能是靶标内定位圆或编码的轮廓点,记该点为内圆有效轮廓点,否则记该点为外圆有效轮廓点;

20、步骤s17,如果内圆有效轮廓点与该轮廓对应的总轮廓点数的比值大于阈值0.4,则该轮廓可能是靶标内定位圆或编码的精定位轮廓,记该轮廓为counter_in,该轮廓的集合记为counters_in_collection;

21、步骤s18,如果外圆有效轮廓点与该轮廓对应的总轮廓点数的比值大于阈值0.4,则该轮廓可能是靶标外定位圆的精定位轮廓,记该轮廓为counter_out,该轮廓的集合记为counters_out_collection;

22、步骤s19,如果counters_in_collection中轮廓的数量小于2,或者counters_out_collection中轮廓的数量不为1,则该roi区域不是靶标,跳过该roi并对下一个roi区域进行处理,否则继续执行后续步骤;

23、步骤s20,counters_out_collection中唯一一个counter_out即为靶标的外定位圆轮廓,记其拟合椭圆的长短轴分别为ao与bo,椭圆中心坐标为(xo,yo);

24、步骤s21,计算counters_in_collection的每一个轮廓的中心与counter_out的中心之间的欧氏距离,距离最小的counter_out即为靶标的内定位圆轮廓,记其拟合椭圆的长短轴分别为ai与bi,椭圆中心坐标为(xi,yi);

25、步骤s22,记则内外同心圆圆心即靶标中心坐标(xc,yc)为

26、

27、步骤s23,获取该靶标roi矩形区域四个顶点的坐标,并记该区域内像素点的齐次坐标为p;

28、步骤s24,设定一个正方形区域,作为靶标roi图形透视变换后的正向投影区域;

29、步骤s25,通过roi矩形四个顶点坐标与正方形区域四个顶点坐标计算两个投影之间的单应矩阵h;

30、步骤s26,透视变换后roi区域像素点的齐次坐标p′=hp,即得到单个靶标图像的正向投影图像,靶标定位圆已正向投影为圆形;

31、步骤s27,根据靶标外定位圆尺寸设计值和编码点尺寸设计值间的比例关系,以及靶标正投影图像上的外定位圆像素尺寸和靶标中心像素位置,在靶标正投影图像上确定编码点中心所在圆的像素位置。

32、步骤s28,在编码点所在的圆上每1°取一点并遍历360°取360个点,记这360个点的灰度值构成的数组为signal;

33、步骤s29,将signal归一化;

34、步骤s30,根据靶标和编码点的尺寸设计值,计算每个编码点在编码点所在圆上所占的角度θ;

35、步骤s31,记codelib为该n位编码靶标可构成的所有二进制编码;

36、步骤s32,遍历codelib中的每一个二进制编码,对每个编码生成一个与signal长度等长的参考信号数组signal_ref1,规则为:遍历该编码的每一位,编码位为1则将signal_ref1中相应θ个元素写为1,编码位为0则将signal_ref1中相应θ个元素写为-1,相邻两个编码位之间在signal_ref1中写入(360/n-θ)个-1,最后一个编码位时在signal_ref1最后写入(360/n-θ)个-1;

37、步骤s33,记参考信号数组signal_ref2长度为signal_ref1长度的2倍,数组元素为两个signal_ref1首尾相连组成;

38、步骤s34,计算采集信号signal与每一个编码的参考信号数组signal_ref2的相关性,最大相关性对应的编码即为该靶标的二维编码值;

39、步骤s35,将该二维编码循环左移1位,并计算每次左移对应的十进制码值,最小码值即为该靶标的编码值。

40、本发明提出了一种新型编码靶标及其高精度的识别、定位与解码方法,优化编码靶标图案特征与结构尺寸,可实现对靶标中心的高精度定位,同时通过靶标解码算法实现高鲁棒性的靶标识别与解码。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1