1.一种人工视觉地标的解码定位方法,所述的人工视觉地标包括:
1)至少排列成两行与两列的4个及4个以上编码片,所有编码片每两行、每两列交叉排列;每一行的编码片在水平方向直线排列,每一列的编码片在倾斜方向直线排列;
2)任意一个编码片上的编码组件,均包括一个中心标定环和环绕中心标定环设置的六个编码块;
3)所述中心标定环为圆形的图案,采用红绿蓝黑四种颜色中的一种;
4)所述六个编码块为环绕在中心标定环周围的六个六边形图案,每个编码块采用红绿蓝黑四种颜色中的一种;
其特征在于:所述人工视觉地标的解码方法包括如下步骤:
1)采用摄像机摄取人工视觉地标图像,该图像中心点即摄像头中心点;
2)对前一步骤获得的图像进行解码;
步骤2)所述的解码方法包括:
(1)提取合格的人工视觉地标图像;所述合格的人工视觉地标包含至少一个完整的编码片图像;
(2)对人工视觉地标图像进行预处理,将RGB颜色空间转化为HSV颜色空间,设定HSV取值范围来确定黑红绿蓝四种颜色,实现图像的多值化;
(3)对人工视觉地标图像进行数据提取,包括:对整个人工视觉地标图像进行轮廓链连通域提取、对每个连通域进行像素点个数与质心的提取以及提取距离摄像头中心点最近的中心标定环质心坐标与环绕该中心标定环的六个编码块质心坐标;
(4)对码字进行识别;先对每个编码片中的各个编码块进行位置定义,接着根据解码规则按位置顺序依次顺时针对各个编码片进行解码;
所述RGB颜色空间转化为HSV颜色空间,采用以下公式: (1)
(2)
(3)
式中:
H为色调,S为鲜艳程度,V为明暗程度,R为红色,G为绿色,B为蓝色;
max为R,G,B中数值最大的数,min为R,G,B中数值最小的数;
当H>‑60 && H<60时,提取的是红色像素点,红色像素点记为1;
当H>110 && H<150时,提取的是绿色像素点,绿色像素点记为2;
当H>180 && H<260时,提取的是蓝色像素点,蓝色像素点记为3;
当V>=0 &&V<=180时,提取的是黑色像素点,黑色像素点记为0;
提取离距离摄像头中心点最近的中心标定环质心坐标与环绕该中心标定环的六个编码块质心坐标:距离摄像头中心点最近的中心标定环的提取方法是:遍历选择像素点个数多于其它连通域的那一部分连通域,将这一部分连通域的质心坐标与图像坐标原点进行差运算,所得值最小那一个连通域的就是距离摄像头中心点最近的中心标定环;该中心标定环圆心坐标即为中心标定环的质心坐标;
环绕该中心标定环的六个编码块质心坐标的提取方法是:将该中心标定环质心坐标与其他所有连通域质心坐标进行差运算,取绝对值最小的六个连通域就是环绕该中心标定环周围的六个编码块;
环绕该中心标定环周围的六个编码块的位置定义方法是:(1)遍历六个编码块与中心标定环的质心坐标进行对比,横坐标最小的标记为4号位置,横坐标最大的标记为1号位置;
(2)遍历其余四个编码块与中心标定环质心坐标进行对比,横坐标最小且纵坐标最大的的标记为5号位置,横坐标最大且纵坐标最小的标记为3号位置;
(3)遍历最后两个编码块,纵坐标最大的是0号位置,纵坐标最小的是2号位置;
所述解码规则为:以0,1,2,3,4,5号位置依次顺时针进行编码组件提取;以提取到的黑色编码块为第一位并记录黑色编码块所在位置,依次沿顺时针方向进行编码片解码,解码得到的编码形式包括颜色和位置两部分,编码形式前5位代表了除黑色编码块以外顺时针进行编码组件提取的编码块像素点颜色,编码形式第6位代表了编码组件提取的中心编码片像素点颜色,编码形式字第8位代表了黑色编码块所在的位置数;当H>‑60 && H<60时,提取的红色像素点为1,当H>110 && H<150时,提取的绿色像素点为2,当H>180 && H<260时,提取的蓝色像素点为3,当V>=0 &&V<=180时,提取的黑色像素点为0;
通过拟合二次曲面进行像素坐标到现实坐标的变换,同时进行畸变纠正,实现对摄像头中心点进行精准定位,并方便机械臂误差纠正;
步骤是:
(1)对离距离摄像头中心点最近的中心标定环周围的六个六边形编码块的轮廓链进行处理,提取六个编码块中的每个锐角顶点坐标,提取每个六边形编码块的中心线;
(2)通过中心线拟合求得六个特征点;
(3)进行二次曲面拟合,包括横坐标方向上的曲面拟合,以及纵坐标方向上的曲面拟合;
(4)进行二次曲面转换将图像中心坐标变换为摄像头中心现实坐标,实现摄像头中心点定位。
2.根据权利要求1所述的人工视觉地标的解码定位方法,其特征在于:在合格的人工视觉地标图像建立坐标系,使得该图像位于坐标系的第一象限中;在该图像中进行所有连通域提取以及各连通域的像素点个数与质心的提取,方法是:用Image Moments算法对合格的人工视觉地标图像进行图像处理,提取出所有连通域的像素点个数及质心。
3.根据权利要求2所述的人工视觉地标的解码定位方法,其特征在于:提取每个六边形编码块的中心线步骤是:
(1)计算出与六边形编码块质心坐标距离最近的像素点,以这个像素点为起始点,遍历一半轮廓链的像素点个数的点;
(2)计算出在这半个轮廓链上与六边形编码块质心坐标距离最远的像素点,这个像素点就是解决拟合问题的一个锐角顶点;
(3)再从与六边形编码块质心坐标距离最近的像素点开始遍历另外一半轮廓链;
(4)计算出在这半个轮廓链上与六边形编码块质心坐标距离最远的像素点,这个像素点就是解决拟合问题的另一个锐角顶点;
(5)步骤(2)、(4)中的两个锐角顶点的连线,为六边形编码块的中心线。
4.根据权利要求3所述的人工视觉地标的解码定位方法,其特征在于:通过中心线拟合求得六个特征点的步骤是:得到六个编码块锐角顶点坐标数据后,对此数据进行最小二乘法拟合,快速实现直线的最小二乘法拟合,拟合之后每相邻两条直线有交点,这六个交点就是六个特征点,也即六个编码块的六条中心线两两连线的交点。
5.根据权利要求4所述的人工视觉地标的解码定位方法,其特征在于:所述二次曲面拟合,是将六个特征点的坐标代入二次曲面方程组求解,随后运用Matlab软件拟合即完成。