CN115222828A - 用于视觉定位的正六边形编码标志解码方法 - Google Patents

用于视觉定位的正六边形编码标志解码方法 Download PDF

Info

Publication number
CN115222828A
CN115222828A CN202210584704.2A CN202210584704A CN115222828A CN 115222828 A CN115222828 A CN 115222828A CN 202210584704 A CN202210584704 A CN 202210584704A CN 115222828 A CN115222828 A CN 115222828A
Authority
CN
China
Prior art keywords
mark
regular hexagon
coding
characteristic
corner
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210584704.2A
Other languages
English (en)
Inventor
朱华炳
符宏伟
殷玉龙
刘凯
杨霈
杨昭辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN202210584704.2A priority Critical patent/CN115222828A/zh
Publication of CN115222828A publication Critical patent/CN115222828A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种用于视觉定位的正六边形编码标志解码方法,主要步骤为:拍摄多幅空间中的正六边形编码标志图案并经灰度化和二值化处理,以六个顶点作为编码标志的特征角点,利用六边形轮廓检测算法获取编码标志的轮廓以及相应的六个特征角点坐标作为粗定位角点;利用角点检测算法提取编码标志特征角点集合,筛选出相对应的六边形角点坐标作为精定位角点坐标,并计算出正六边形编码标志的质心坐标;根据直线检测算法获得指向特征角点坐标,进而区分出特征角点序号;对编码标志进行解码,获得编码标志的编码号;根据该编码标志的编码号和特征角点的序号,获得每个特征角点的编号,从而完成对正六边形编码标志中每个特征角点的解码。

Description

用于视觉定位的正六边形编码标志解码方法
技术领域
本发明涉及计算机视觉中的视觉测量领域,适用于相机标定、目标特征提取、立体匹配和三维数据拼接等领域,具体为用于视觉定位的正六边形编码标志解码方法。
背景技术
随着现代工业的发展,为提高产品质量和产品效益,解决大尺寸和小尺寸及复杂背景的测量问题,视觉测量技术顺应而生。视觉测量技术具有非接触、高精度、便携性好等特点。在视觉测量领域中,大视场、复杂背景下的相机标定困难,以及大尺寸目标如何实现立体匹配和三维数据拼接等问题仍是研究热点。
为有效解决上述问题,编码标记点技术飞速发展,出现了很多编码标志点类型,但大多都为环形、圆形或扇形等,而这些编码标记点在面对仿射变换图像,或大尺寸目标三维拼接时,不能保证结果的准确度和精确度。因此,本发明提出的一种用于视觉定位的正六边形编码标志解码方法,有效弥补了以上缺陷,在实现复杂条件的相机标定的同时,仍保证了较高的精度和鲁棒性,同时由于编码容量较大,面对大尺寸目标的三维数据拼接仍能保持较高的准确性,且操作简便。
发明内容
本发明旨在克服现有技术的不足,提出了用于视觉定位的正六边形编码标志解码方法,克服了现有技术的不足,利用编码图案质心到指向图案质心和其对应特征角点的距离关系进行编码工作的方法,在保持精确度和准确度的情况下,仍能应对大视场、复杂背景下的相机标定,以及大尺寸目标的立体匹配和三维数据拼接。
为实现上述效果,本发明采用的技术方案为:
一种用于所述解码方法的正六边形编码标志,所述正六边形编码标志的6个顶点作为特征角点,在视觉结构光三维测量过程中,用于目标曲面的三维点云拼接;所述正六边形编码标志内含有指向图案和编码图案,其中编码图案又由多个编码单元图案组成,由指向图案可实现正六边形编码标志起始角点的判断,编码图案则是用于对正六边形编码标志中的每一个角点进行编码。
进一步的,所述正六边形编码标志为边长为a的正六边形,指向图案、编码图案均不重叠且不连通,指向图案为边长为β、弧长为ε的扇形,指向图案的质心和正六边形的质心为同一个点,所有编码单元图案为圆形。
进一步的,所述正六边形编码标志中,指向图案的周长小于6a,每个编码单元图案的轮廓长度均小于指向图案的轮廓长度。
进一步的,所述正六边形编码标志的背景颜色与指向图案的颜色具有明显差异,所有编码单元图案的颜色与正六边形编码标志的背景颜色相同或与指向图案的颜色相同。
进一步的,在所述正六边形编码标志中,指向图案和所有编码单元图案的面积大小满足如下关系:指向图案的面积大于编码单元图案的面积,各个编码单元图案的面积相同。
还提供了一种用于视觉定位的正六边形编码标志解码方法,以正六边形编码标志的6个顶点作为特征角点,在视觉结构光三维测量过程中,用于目标曲面的三维点云拼接,该解码方法主要包括以下步骤:
步骤1、利用摄像机拍摄空间中放置的N个正六边形编码标志,进而获得编码标志图像,所述编码标志图像当中包含N个正六边形编码标志,N为正整数;
步骤2、对编码标志图像进行灰度处理得到编码标志灰度图像P1,其中,编码标志灰度图像P1为8位灰度图;对编码标志灰度图像P1进行复制备份得到编码标志灰度备份图像P1′;
步骤3、对编码标志灰度备份图像P1′进行二值化处理,使得每个正六边形编码标志的背景颜色均为黑色(即灰度值为0),每个正六边形编码标志内的指向图案均为白色(即灰度值为255),编码单元图案的颜色根据正六边形编码标志的编码规则可以为白色也可以为黑色,进而得到编码标志二值化图像P2
步骤4、将编码标志二值化图像P2进行三次复制备份,分别得到第ζ组第1个备份二值化图像P′ζ,1、第ζ组第2个备份二值化图像P′ζ,2和第ζ组第3个备份二值化图像P′ζ,3,其中ζ为整数,且1≤ζ≤N;
步骤5、在上述拍摄的包含N个正六边形编码标志的图像中,选取图像左上角作为角点像素坐标系的原点o,自左向右为角点像素坐标系的x轴方向,自上向下作为角点像素坐标系的y轴方向,由此建立角点像素坐标系o_xy;
步骤6、利用六边形轮廓检测方法获取正六边形编码标志的6个特征角点的亚像素坐标C′ζ,i(x′ζ,i,y′ζ,i),其中i=1,2,3,4,5,6;
步骤7、在第ζ组第2个备份二值化图像P′ζ,2上,获得第ζ个正六边形编码标志的角点六边形Sζ
步骤8、利用直线检测算法在第ζ组第3个备份二值化图像P′ζ,3上获取离第ζ个编码标志质心像素坐标值o″d,ζ(x″d,ζ,y″d,ζ)中最近的两条直线,把两条直线的交点记为指向特征角点
Figure BDA0003663000660000031
并且将得到的第ζ个指向特征角点坐标
Figure BDA0003663000660000032
作为指向特征角点集合∪的第ζ个元素;创建一幅和P′ζ,3尺寸相同且所有像素点的灰度值均为255的图像,并在所创建图像上画出获取到的两条直线,得到的图像记为第ζ个指向角点图像P″ζ,3
步骤9、在第ζ组第2个备份二值化图像P′ζ,2上,根据得到指向特征角点
Figure BDA0003663000660000033
经过处理计算得到第ζ个正六边形编码标志中的第1特征角点Cζ,1(xζ,1,yζ,1)、第2特征角点Cζ,2(xζ,2,yζ,2)、第3特征角点Cζ,3(xζ,3,yζ,3)、第4特征角点Cζ,4(xζ,4,yζ,4)、第5特征角点Cζ,5(xζ,5,yζ,5)、第6特征角点Cζ,6(xζ,6,yζ,6),完成第ζ个正六边形特征角点的排序;
步骤10、在第ζ组第2个备份二值化图像P′ζ,2上,根据得出的第ζ个正六边形编码标志中的第1特征角点Cζ,1(xζ,1,yζ,1)、第2特征角点Cζ,2(xζ,2,yζ,2)、第3特征角点Cζ,3(xζ,3,yζ,3)、第4特征角点Cζ,4(xζ,4,yζ,4)、第5特征角点Cζ,5(xζ,5,yζ,5)、第6特征角点Cζ,6(xζ,6,yζ,6)和编码标志质心o″d,ζ(x″d,ζ,y″d,ζ),进一步处理计算得到第ζ个正六边形编码标志的编码号Wζ
步骤11、结合角点序号σ和编码号Wζ,按照预设的编号规则,获得第ζ个正六形编码标志中6个特征角点各自的编号
Figure BDA0003663000660000034
及与其相应的亚像素坐标值;
步骤12、判断ζ是否小于等于N,若满足,则将ζ+1重新赋值给ζ,并返回步骤4重复顺序执行步骤4至步骤11,完成其余(N-1)个正六边形编码标志上6个特征角点各自的编号和对应的亚像素坐标值;若不满足,则已经找到每个正六边形编码标志上6个特征角点各自的编号和对应的亚像素坐标值。
进一步的,在步骤6中,提取正六边形编码标志的6个特征角点的亚像素坐标C′ζ,i(x′ζ,i,y′ζ,i),具体方法包括以下步骤:
步骤6.1、对编码标志灰度图像P1再次进行复制备份,获得第ζ个备份灰度图像P″ζ
步骤6.2、利用六边形轮廓检测算法在第ζ组第1个备份二值化图像P′ζ,1中提取6个角点的亚像素坐标,进而得到第ζ个无复杂背景六边形轮廓图像P″ζ,1;在所述第ζ个无复杂背景六边形轮廓图像P″ζ,1中,包含编码标志的6个备选特征角点C″ζ,1(x″ζ,1,y″ζ,1)、C″ζ,2(x″ζ,2,y″ζ,2)、C″ζ,3(x″ζ,3,y″ζ,3)、C″ζ,4(x″ζ,4,y″ζ,4)、C″ζ,5(x″ζ,5,y″ζ,5)、C″ζ,6(x″ζ,6,y″ζ,6),且六边形轮廓内部的所有像素点的灰度值被置为0,外部的所有像素点的灰度值被置为255;
步骤6.3、利用角点检测算法在第ζ个备份灰度图像P″ζ中提取所有角点的亚像素坐标并存入第ζ个初选角点亚像素坐标集合Bζ中,进而得到第ζ个初选角点图像P″′ζ;其中,第ζ个初选角点亚像素坐标集合Bζ中存放着第ζ个初选角点图像P″′ζ上包含六边形编码标志的6个特征角点亚像素坐标值和干扰角点的亚像素坐标值,所述干扰角点是除特征角点以外的干扰角点;
步骤6.4、取整数变量i并赋值i=1;
步骤6.5、在所述第ζ个初选角点亚像素坐标集合Bζ中寻找距离亚像素坐标值C″ζ,i(x″ζ,i,y″ζ,i)最近的角点亚像素坐标并记为C′ζ,i(x′ζ,i,y′ζ,i);
步骤6.6、判断i是否小于等于6,若i≤6,则将i+1赋值给i并返回执行步骤6.4;否则,此时已经获得六边形编码标志的6个特征角点的亚像素坐标C′ζ,1(x′ζ,1,y′ζ,1)、C′ζ,2(x′ζ,2,y′ζ,2)、C′ζ,3(x′ζ,3,y′ζ,3)、C′ζ,4(x′ζ,4,y′ζ,4),C′ζ,5(x′ζ,5,y′ζ,5),C′ζ,6(x′ζ,6,y′ζ,6);
步骤6.7、在第ζ组第3个备份二值化图像P′ζ,3上画出正六边形编码标志的6个特征角点,得到角点图像P″ζ,3;所述角点图像P″ζ,3中六个特征角点所形成的六边形外部的所有像素点的灰度值被置为255,内部的所有像素点的灰度值保持不变。
进一步的,在步骤7中,获得包含正六边形编码标志质心坐标值o″d,ζ(x″d,ζ,y″d,ζ)的第ζ个正六边形编码标志的角点六边形Sζ的方法为:
步骤7.1、根据步骤6中获取得正六边形编码标志的6个特征角点亚像素坐标,由公式(1)和公式(2)计算出正六边形编码标志质心坐标值(x″d,ζ,y″d,ζ);
x″d,ζ=1/3×[1/2×(x′ζ,1+x′ζ,2+...x′ζ,6)] (1)
y″d,ζ=1/3×[1/2×(y′ζ,1+y′ζ,2+...y′ζ,6)] (2)
步骤7.2、在第ζ组第2个备份二值化图像P′ζ,2上,将包含质心像素坐标值o″d,ζ(x″d,ζ,y″d,ζ)的编码标志记为第ζ个正六边形编码标志;
步骤7.3、在第ζ组第2个备份二值化图像P′ζ,2上,分别选取亚像素坐标值C′ζ,1(x′ζ,1,y′ζ,1)、C′ζ,2(x′ζ,2,y′ζ,2)、C′ζ,3(x′ζ,3,y′ζ,3)、C′ζ,4(x′ζ,4,y′ζ,4),C′ζ,5(x′ζ,5,y′ζ,5),C′ζ,6(x′ζ,6,y′ζ,6)的6个像素点作为第ζ个正六边形编码标志的角点六边形Sζ的6个顶点,将6个顶点相连进而获得第ζ个正六边形编码标志的角点六边形Sζ
进一步的,在步骤9中,完成第ζ个正六边形特征角点的排序的方法包括以下步骤:
步骤9.1、在第ζ组第2个备份二值化图像P′ζ,2上,把第ζ个正六边形编码标志的特征角点的亚像素坐标值为(x′ζ,1,y′ζ,1)、(x′ζ,2,y′ζ,2)、(x′ζ,3,y′ζ,3)、(x′ζ,4,y′ζ,4)、(x′ζ,5,y′ζ,5)、(x′ζ,6,y′ζ,6)的6个像素点分别记为C″′ζ,1(x″′ζ,1,y″′ζ,1)、C″′ζ,2(x″′ζ,2,y″′ζ,2)、C″′ζ,3(x″′ζ,3,y″′ζ,3)、C″′ζ,4(x″′ζ,4,y″′ζ,4)、C″′ζ,5(x″′ζ,5,y″′ζ,5)、C″′ζ,6(x″′ζ,6,y″′ζ,6);
步骤9.2、在第ζ组第2个备份二值化图像P′ζ,2上,第ζ个正六边形编码标志中的方向向量
Figure BDA0003663000660000051
可由公式(1)得:
Figure BDA0003663000660000052
步骤9.3、在第ζ组第2个备份二值化图像P′ζ,2上,通过公式(4)、(5)、(6)、(7)、(8)和(9)计算出在第ζ个正六边形编码标志中的第1判断向量
Figure BDA0003663000660000053
第2判断向量
Figure BDA0003663000660000054
第3判断向量
Figure BDA0003663000660000055
第4判断向量
Figure BDA0003663000660000056
第5判断向量
Figure BDA0003663000660000057
和第6判断向量
Figure BDA0003663000660000058
并根据式(10)计算出的余弦值cosαζ,j来判断出第1特征角点和第4特征角点,其中,j=1,2...6;
Figure BDA0003663000660000059
Figure BDA00036630006600000510
Figure BDA00036630006600000511
Figure BDA00036630006600000512
Figure BDA00036630006600000513
Figure BDA00036630006600000514
Figure BDA00036630006600000515
若0.95≤cosαζ,j≤1,则第j判断向量对应的像素点C″′ζ,j(x″′ζ,j,y″′ζ,j)记为第1特征角点,记为Cζ,1tem(xζ,1tem,yζ,1tem),则Cζ,1tem(xζ,1tem,yζ,1tem)为第ζ个正六边形编码标志中的第1特征角点,把Cζ,1tem(xζ,1tem,yζ,1tem)的亚像素坐标值赋值给Cζ,1(xζ,1,yζ,1);若-0.95≤cosαζ,j≤-1,则第j判断向量对应的像素点C″′ζ,j(x″′ζ,j,y″′ζ,j)记为第4特征角点,记为Cζ,4tem(xζ,4tem,yζ,4tem),则Cζ,4tem(xζ,4tem,yζ,4tem)为第ζ个正六边形编码标志中的第1特征角点,把Cζ,4tem(xζ,4tem,yζ,4tem)的亚像素坐标值赋值给Cζ,4(xζ,4,yζ,4);
步骤9.4、在第ζ组第2个备份二值化图像P′ζ,2上,找出剩余4个像素点中距离第1编码标志点像素坐标Cζ,1(xζ,1,yζ,1)最近的2个像素点,并分别记为Cζ,2tem(xζ,2tem,yζ,2tem)和Cζ,6tem(xζ,6tem,yζ,6tem);通过公式(11)、(12)和(13)计算出在第ζ个正六边形编码标志中的第7判断向量
Figure BDA0003663000660000061
第8判断向量
Figure BDA0003663000660000062
和第9判断向量
Figure BDA0003663000660000063
并通过式(14)和式(15)计算出第2编码角点划分正弦值sinαζ和第6编码角点划分正弦值sinβζ
Figure BDA0003663000660000064
Figure BDA0003663000660000065
Figure BDA0003663000660000066
Figure BDA0003663000660000067
Figure BDA0003663000660000068
若sinαζ<0,sinβζ>0,则Cζ,2tem(xζ,2tem,yζ,2tem)为第ζ个正六边形编码标志中的第2特征角点,把Cζ,2tem(xζ,2tem,yζ,2tem)的像素坐标值赋值给Cζ,2(xζ,2,yζ,2);Cζ,6tem(xζ,6tem,yζ,6tem)为第ζ个正六边形编码标志中的第6特征角点,把Cζ,6tem(xζ,6tem,yζ,6tem)的像素坐标值赋值给Cζ,6(xζ,6,yζ,6);
若sinαζ>0,sinβζ<0,则Cζ,2tem(xζ,2tem,yζ,2tem)为第ζ个正六边形编码标志中第6特征角点,把Cζ,2tem(xζ,2tem,yζ,2tem)的亚像素坐标值赋值给Cζ,6(xζ,6,yζ,6);Cζ,6tem(xζ,6tem,yζ,6tem)为第ζ个正六边形编码标志中第2特征角点,把Cζ,6tem(xζ,6tem,yζ,6tem)的亚像素坐标值赋值给Cζ,2(xζ,2,yζ,2);
步骤9.5、在第ζ组第2个备份二值化图像P′ζ,2上,找到剩余2个特征角点的序号:
记离Cζ,2(xζ,2,yζ,2)距离最远的特征角点为第5特征角点,记为Cζ,5tem(xζ,5tem,yζ,5tem),则Cζ,5tem(xζ,5tem,yζ,5tem)为第ζ个正六边形编码标志中的第5特征角点,把Cζ,5tem(xζ,5tem,yζ,5tem)的亚像素坐标值赋值给Cζ,5(xζ,5,yζ,5);记离Cζ,6(xζ,6,yζ,6)距离最远的特征角点为第3特征角点,记为Cζ,3tem(xζ,3tem,yζ,3tem),则Cζ,3tem(xζ,3tem,yζ,3tem)为第ζ个正六边形编码标志中的第3特征角点,把Cζ,5min(xζ,5min,yζ,5min)的亚像素坐标值赋值给Cζ,3(xζ,3,yζ,3);
至此,在第ζ组第2个备份二值化图像P′ζ,2上找到了第ζ个正六边形编码标志中第1特征角点Cζ,1(xζ,1,yζ,1)、第2特征角点Cζ,2(xζ,2,yζ,2)、第3特征角点Cζ,3(xζ,3,yζ,3)、第4特征角点Cζ,4(xζ,4,yζ,4)、第5特征角点Cζ,5(xζ,5,yζ,5)、第6特征角点Cζ,6(xζ,6,yζ,6)。
进一步的,步骤10中,在第ζ组第2个备份二值化图像P′ζ,2上,根据得出的第ζ个正六边形编码标志中的编码标志质心和特征角点处理计算得到第ζ个正六边形编码标志的编码号Wζ的方法包括以下步骤:
步骤10.1、在第ζ组第2个备份二值化图像P′ζ,2上,第ζ个正六边形编码标志的角点六边形Sζ内部的所有像素点的灰度值保持不变,将第ζ个正六边形编码标志的角点六边形Sζ以外的所有像素点的灰度值赋值为255;
步骤10.2、在第ζ组第2个备份二值化图像P′ζ,2上,提取第ζ个正六边形编码标志的角点六边形Sζ中所有的内、外轮廓,记为第ζ个正六边形编码标志内的轮廓集合Dζ
步骤10.3、根据第ζ个正六边形编码标志内的轮廓集合Dζ中,除去包含像素点数最多的两个轮廓,剩余轮廓个数κζ的大小分为如下情况:
情况1、若κζ==0,则执行步骤11;
情况2、若κζ≠0,则这κζ个轮廓即为第ζ个正六边形编码标志内编码标志圆的轮廓,分别记为编码标志圆
Figure BDA0003663000660000071
编码标志圆
Figure BDA0003663000660000072
…、编码标志圆
Figure BDA0003663000660000073
步骤10.4、给整数变量i并赋予初值i=1;
步骤10.5、在第ζ组第2个备份二值化图像P′ζ,2上,计算编码标志圆轮廓
Figure BDA0003663000660000074
的质心像素坐标
Figure BDA0003663000660000075
将i+1重新赋值给i后继续执行此步骤,直到i>κζ结束;由此可以得到对应编码标志圆轮廓
Figure BDA0003663000660000076
编码标志圆轮廓
Figure BDA0003663000660000077
…、编码标志圆轮廓
Figure BDA0003663000660000078
的质心像素坐标
Figure BDA0003663000660000079
步骤10.6、在第ζ组第2个备份二值化图像P′ζ,2上,根据得出的第ζ个正六边形编码标志中第i特征角点Cζ,i(xζ,i,yζ,i),分别连接第i特征角点Cζ,i(xζ,i,yζ,i)和编码标志质心o″d,i(x″d,i,y″d,i)得到线段Loi,其中i=1,2,3,4,5,6;
步骤10.7、在第ζ组第2个备份二值化图像P′ζ,2上,通过公式(16)和(17)分别计算出在第ζ个正六边形编码标志中的第i个判别向量
Figure BDA0003663000660000081
和第ε个分辨向量
Figure BDA0003663000660000082
并根据式(17)、(18)、(19)、(20)、(21)和(22)计算出的余弦值
Figure BDA0003663000660000083
来判断出第ε个编码标志圆所在的对应线段Loi,其中,i=1,2...6,ε=1,2...κζ
Figure BDA0003663000660000084
Figure BDA0003663000660000085
Figure BDA0003663000660000086
Figure BDA0003663000660000087
Figure BDA0003663000660000088
Figure BDA0003663000660000089
Figure BDA00036630006600000810
Figure BDA00036630006600000811
Figure BDA00036630006600000812
则编码标志圆
Figure BDA00036630006600000813
位于位于线段Lo1上;若
Figure BDA00036630006600000814
则编码标志圆
Figure BDA00036630006600000815
位于位于线段Lo2上;若
Figure BDA00036630006600000816
则编码标志圆
Figure BDA00036630006600000817
位于位于线段Lo3上;若
Figure BDA00036630006600000818
则编码标志圆
Figure BDA00036630006600000819
位于位于线段Lo4上;若
Figure BDA00036630006600000820
则编码标志圆
Figure BDA00036630006600000821
位于位于线段Lo5上;若
Figure BDA00036630006600000822
则编码标志圆
Figure BDA00036630006600000823
位于位于线段Lo6上;
步骤10.8、定义6个浮点型二维数组
Figure BDA00036630006600000824
用于存放第ζ个正六边形编码标志中分别位于线段Loi上的编码标志圆轮廓质心在第ζ组第2个备份二值化图像P′ζ,2上的像素坐标,初始化这6个二维数组中的所有元素,且赋值为-1;其中i=1,2,3,4,5,6;
步骤10.9、定义6个浮点型二维数组
Figure BDA00036630006600000825
用于存放第ζ个正六边形编码标志中分别位于线段Loi上的编码标志圆轮廓质心在第ζ组第2个备份二值化图像P′ζ,2上的像素坐标,初始化这6个二维数组中的所有元素,且赋值为-1;
步骤10.10、定义
Figure BDA00036630006600000826
代表第ζ个正六边形编码标志中线段Loi上第w位编码标志圆的编码值,
Figure BDA00036630006600000827
取0或1;其中w=1,2,λ=1,2,3,4,5,6;
步骤10.10、分别根据
Figure BDA00036630006600000828
的取值情况,分别给对应的
Figure BDA00036630006600000829
Figure BDA00036630006600000830
赋值为0或1;具体分为以下四种情况:
情况1、若
Figure BDA0003663000660000091
Figure BDA0003663000660000092
把i+1赋值给i,当满足i>6时,继续执行下一步骤10.11;否则,返回执行步骤10.10;
情况2、若
Figure BDA0003663000660000093
记坐标点
Figure BDA0003663000660000094
到正边形质心的距离为
Figure BDA0003663000660000095
第i特征角点Cζ,i(xζ,i,yζ,i)的距离为
Figure BDA0003663000660000096
Figure BDA0003663000660000097
并令
Figure BDA0003663000660000098
Figure BDA0003663000660000099
则令
Figure BDA00036630006600000910
把i+1赋值给i,当满足i>6时,继续执行下一步骤10.11;否则,返回执行步骤10.10;
情况3、若
Figure BDA00036630006600000911
记坐标点
Figure BDA00036630006600000912
到正边形质心的距离为
Figure BDA00036630006600000913
到第i特征角点Cζ,i(xζ,i,yζ,i)的距离为
Figure BDA00036630006600000914
Figure BDA00036630006600000915
则令
Figure BDA00036630006600000916
Figure BDA00036630006600000917
Figure BDA00036630006600000918
把i+1赋值给i,当满足i>6时,继续执行下一步骤10.11;否则,返回执行步骤10.10;
情况4、若
Figure BDA00036630006600000919
则令
Figure BDA00036630006600000920
把i+1赋值给i,当满足i>6时,继续执行下一步骤10.11;否则,返回执行步骤10.10;
步骤10.11、通过上述得出的第ζ个正六边形编码标志中所有编码标志圆的编码取值
Figure BDA00036630006600000921
由公式(9)求出第ζ个正六边形编码标志的编码号Wζ
Wζ=Vζ T·U (24)
其中,列向量U=(20,21,22,...211)T,列向量
Figure BDA00036630006600000922
进一步的,步骤11中,第ζ个正六形编码标志中6个特征角点各自的编码号与其相应的亚像素坐标值的编号规则为:
记第ζ个正六边形编码标志上属于第σ特征角点的编码号为
Figure BDA00036630006600000923
其中下脚标Wζ为特征角点
Figure BDA00036630006600000924
所属编码标志的编码号,上角标σ的取值为特征角点
Figure BDA00036630006600000925
的角点序号,其中,σ=1,2,3,4,5,6;则获得了第ζ个正六形编码标志中6个特征角点各自的编号与其相应的亚像素坐标值:
编码号为
Figure BDA00036630006600000926
的特征角点的亚像素坐标值为(xζ,1,yζ,1);
编码号为
Figure BDA00036630006600000927
的特征角点的亚像素坐标值为(xζ,2,yζ,2);
编码号为
Figure BDA0003663000660000101
的特征角点的亚像素坐标值为(xζ,3,yζ,3);
编码号为
Figure BDA0003663000660000102
的特征角点的亚像素坐标值为(xζ,4,yζ,4);
编码号为
Figure BDA0003663000660000103
的特征角点的亚像素坐标值为(xζ,5,yζ,5);
编码号为
Figure BDA0003663000660000104
的特征角点的亚像素坐标值为(xζ,6,yζ,6)。
还提供了一种计算机可读存储介质,其存储有与具有图像处理功能的电子设备结合使用的计算机程序,所述计算机程序可被处理器执行以实现所述的解码方法。
与现有技术相比较,本发明的有益效果如下:
1.本发明提出用于视觉定位的正六边形编码标志中的编码图案,由指向图案和编码标志图案构成,其中,指向图案能够实现在相机标定、三维数据拼接等过程中,自动判断所测目标与摄像机相对旋转方向,提高了灵活性;
2.本发明提出的用于视觉定位的正六边形编码标志具有较大的编码容量,针对尺寸较大的目标也能完成三维数据拼接;
3.本发明提出的用于视觉定位的正六边形编码标志解码方法,能够有效地去除噪声的干扰,发明中提出的去除复杂背景的方法极大地提高了解码的准确性;
4.本发明提出的用于视觉定位的正六边形编码标志解码方法具有高效性,解码速度快,且可以实现实时解码。
附图说明
图1为本发明的正六边形编码标志示意图;
图2为实施例中编码标志灰度图像P1的展示图;
图3为实施例中编码标志二值化图像P2的展示图;
图4为实施例中第1个无复杂背景六边形轮廓图像P″1,1的展示图;
图5为实施例中利用角点检测算法提取得到的初选角点图像P1″′的展示图;
图6为实施例中经过筛选之后的得到的角点图像P″1,3的展示图;
图7为实施例中第1个指向角点图像P″′1,3的展示图;
图8为实施例中在第1组第2个备份二值化图像P′1,2上,将第1个正六边形编码标志的角点六边形S1以外的所有像素点的灰度值赋值为255后所得图像的展示图。
具体实施方式
下面结合附图对本发明的实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
请参阅图1-图8,一种应用于本发明的解码方法的用于视觉定位的正六边形编码标志,所述正六边形编码标志的6个顶点作为特征角点,在视觉结构光三维测量过程中,用于目标曲面的三维点云拼接;所述正六边形编码标志内含有指向图案、编码图案和正六边形背景图案,其中编码图案又由多个编码单元图案组成。由指向图案可实现正六边形特征角点的判断,编码图案则是用于对正六边形编码标志中的每一个角点进行编码。
所述正六边形编码标志为边长为a的正六边形;正六边形编码标志中的编码标志包括指向图案和编码图案,指向图案、编码图案均不重叠且不连通,指向图案为扇形连通域,指向图案的质心和正六边形的质心为同一个点,指向图案的边长为β,弧长为ε,所有编码单元图案为圆形连通域。所述正六边形编码标志中,指向图案和所有编码单元图案的面积大小满足如下关系:指向图案的面积大于编码单元图案的面积,各个编码单元图案的面积相同。
本实施例中正六边形编码标志为边长为20毫米的正六边形,指向图案的扇形半径为5.2毫米,弧度为π/3。正六边形编码标志中,指向图案的周长小于6a;本实施例中,指向图案的周长为15.84毫米。
在所述正六边形编码标志中,每个编码单元图案的轮廓长度均小于指向图案的轮廓长度;本实施例中,每个编码单元图案的轮廓长度为6.28毫米,小于指向图案的轮廓长度15.84毫米。
在本实施列中,所述正六边形编码标志的背景颜色为颜色1,指向图案的颜色为颜色2,所有编码单元图案的颜色与颜色1相同或与颜色2相同,并且颜色1与颜色2具有明显差异。在本实施列中,颜色1为黑色,颜色2为白色。
所述正六边形编码标志中,所有编码单元图案的位置和颜色均由编码方法确定,可以为白色(即颜色2)也可以为黑色(即颜色1)。
下面以N取值为8为例,来详细阐述本发明的用于视觉定位的正六边形编码标志解码方法及其具体应用过程。该解码方法以正六边形编码标志的6个顶点作为特征角点,在视觉结构光三维测量过程中,用于目标曲面的三维点云拼接,该解码方法根据所用于视觉定位的正六边形编码标志的特征,利用数字图像处理的方法获得摄像机拍摄的包含N个正六边形编码标志的图像中每个特征角点的编码序号和亚像素坐标,进而完成正六边形编码标志的解码。该解码方法主要包括以下步骤:
步骤1、利用摄像机拍摄空间中放置的8个正六边形编码标志,进而获得编码标志图像,所述编码标志图像当中包含8个正六边形编码标志;
步骤2:
步骤2.1、对编码标志图像进行灰度处理,得到编码标志灰度图像P1,如图2所示;其中,编码标志灰度图像P1为8位灰度图;
步骤2.2、对编码标志灰度图像P1进行复制备份,得到编码标志灰度备份图像P1′;
步骤3、对编码标志灰度备份图像P1′进行二值化处理,使得每个正六边形编码标志的背景颜色均为黑色(即灰度值为0),每个正六边形编码标志内的指向图案均为白色(即灰度值为255),编码单元图案的颜色根据正六边形编码标志的编码规则可以为白色也可以为黑色,进而得到编码标志二值化图像P2,如图3所示;
步骤4:
步骤4.1、取整数变量ζ,并赋值ζ=1且1≤ζ≤8;
步骤4.2、将编码标志二值化图像P2进行三次复制备份,分别得到第1组第1个备份二值化图像P′1,1、第1组第2个备份二值化图像P′1,2和第1组第3个备份二值化图像P′1,3
步骤5、在上述拍摄的包含8个正六边形编码标志的图像中,选取图像左上角作为角点像素坐标系的原点o,自左向右为角点像素坐标系的x轴方向,自上向下作为角点像素坐标系的y轴方向,由此建立角点像素坐标系o_xy;
步骤6、利用六边形轮廓检测方法获取正六边形编码标志的6个特征角点的亚像素坐标C′1,i(x′1,i,y′1,i),其中i=1,2,3,4,5,6;具体方法包括以下步骤:
步骤6.1、对编码标志灰度图像P1再次进行复制备份,获得第1个备份灰度图像P1″;
步骤6.2、利用六边形轮廓检测算法在第1组第3个备份二值化图像P′1,3中提取6个角点的亚像素坐标,进而得到第1个无复杂背景二值化图像P″1,3;在所述第1个无复杂背景二值化图像P″1,3中,包含编码标志的6个备选特征角点C″1,1(57.3224,32.1457)、C″1,2(109.6452,32.2746)、C″1,3(132.8453,73.6175)、C″1,4(109.3272,114.1723)、C″1,5(57.1837,114.3969)、C″1,6(35.4249,73.2189),且六边形轮廓内部的所有像素点的灰度值被置为0,外部的所有像素点的灰度值被置为255;第1个无复杂背景二值化图像P″1,3如图4所示;
步骤6.3、利用Shi-Tomasi角点检测算法在第1个备份灰度图像P″ζ中提取所有角点的亚像素坐标并存入第1个初选角点亚像素坐标集合B1中,进而得到第1个初选角点图像P1″′;其中,第1个初选角点亚像素坐标集合B1中存放着第1个初选角点图像P1″′上包含六边形编码标志的6个特征角点亚像素坐标值和干扰角点的亚像素坐标值,所述干扰角点是除特征角点以外的干扰角点;初选角点图像P1″′如图5所示;
步骤6.4、取整数变量i并赋值i=1;
步骤6.5、在所述第1个初选角点亚像素坐标集合B1中寻找距离亚像素坐标值(x″1,i,y″1,i)最近的角点亚像素坐标并记为C′1,i(x′1,i,y′1,i);
步骤6.6、判断i是否小于等于6,若i≤6,则将i+1赋值给i并返回执行步骤6.4;循环执行上述步骤后获得了6个特征角点的亚像素坐标(59.3615,34.6724)、(107.4126,34.6933)、(130.2783,75.8326)、(107.4169,116.4716)、(59.3924,116.4913)、(37.9261,75.8179);
步骤6.7、在第1组第3个备份二值化图像P′1,3上画出正六边形编码标志的6个特征角点,得到角点图像P″1,3;所述角点图像P″1,3中六个特征角点所形成的六边形外部的所有像素点的灰度值被置为255,内部的所有像素点的灰度值保持不变;所述角点图像P″1,3如图6所示。
步骤7:在第1组第2个备份二值化图像P′1,2上,获得第1个正六边形编码标志的角点六边形S1,具体步骤如下:
步骤7.1、根据步骤6中获取得正六边形编码标志的6个特征角点亚像素坐标,由公式(1)和公式(2)计算出正六边形编码标志质心坐标值(x″d,ζ,y″d,ζ);
x″d,1=1/3×[1/2×(x′1,1+x′1,2+...x′1,6)]=83.6313 (1)
y″d,1=1/3×[1/2×(y′1,1+y′1,2+...y′1,6)]=75.6632 (2)
步骤7.2、在第1组第2个备份二值化图像P′1,2上,将包含质心像素坐标值o″d,1(83.6313,75.6632)的编码标志记为第1个正六边形编码标志;
步骤7.3、在第1组第2个备份二值化图像P′1,2上,选取亚像素坐标值分别为(59.3615,34.6724)、(107.4126,34.6933)、(130.2783,75.8326)、(107.4169,116.4716)、(59.3924,116.4913)、(37.9261,75.8179)的6个像素点作为第1个正六边形编码标志的角点六边形S1的6个顶点,将6个顶点相连进而获得第1个正六边形编码标志的角点六边形S1
步骤8、利用HoughLines检测算法在第1组第3个备份二值化图像P′1,3上获取离第1个编码标志质心像素坐标值o″d,1(83.6313,75.6632)中最近的两条直线,把两条直线的交点记为指向特征角点o″d,1(83.6313,75.6632),并且将得到的第1个指向特征角点坐标∪1(80.7581,71.1853)作为指向特征角点集合∪的第1个元素;创建一幅和P′1,3尺寸相同且所有像素点的灰度值均为255的图像,并在上面画出获取到的两条直线,得到的图像记为第1个指向角点图像P″′1,3;第1个指向角点图像P″′1,3如图7所示;
步骤9、在第1组第2个备份二值化图像P′1,2上,根据得到指向特征角点∪1(79.7581,72.1853)经过处理计算得到第1个正六边形编码标志中的第1特征角点C1,1(59.3615,34.6724)、第2特征角点C1,2(107.4126,34.6933)、第3特征角点C1,3(130.2783,75.8326)、第4特征角点C1,4(107.4169,116.4716)、第5特征角点C1,5(59.3924,116.4913)、第6特征角点C1,6(37.9261,75.8179),完成第1个正六边形特征角点的排序;
具体包括以下步骤:
步骤9.1、在第1组第2个备份二值化图像P′1,2上,把第1个正六边形编码标志的特征角点的亚像素坐标值为(59.3615,34.6724)、(107.4126,34.6933)、(130.2783,75.8326)、(107.4169,116.4716)、(59.3924,116.4913)、(37.9261,75.8179)的6个像素点分别记为C″′1,1(59.3615,34.6724)、C″′1,2(107.4126,34.6933)、C″′1,3(130.2783,75.8326)、C″′1,4(107.4169,116.4716)、C″′1,5(59.3924,116.4913)、C″′1,6(37.9261,75.8179);
步骤9.2、在第1组第2个备份二值化图像P′1,2上,第1个正六边形编码标志中的方向向量
Figure BDA0003663000660000141
可由公式(3)得:
Figure BDA0003663000660000142
步骤9.3、在第1组第2个备份二值化图像P′1,2上,通过公式(4)、(5)、(6)、(7)、(8)和(9)计算出在第ζ个正六边形编码标志中的第1判断向量
Figure BDA0003663000660000143
第2判断向量
Figure BDA0003663000660000144
第3判断向量
Figure BDA0003663000660000145
第4判断向量
Figure BDA0003663000660000146
第5判断向量
Figure BDA0003663000660000147
和第6判断向量
Figure BDA0003663000660000151
并根据式(10)计算出的余弦值cosα1,j来判断出第1特征角点和第4特征角点,其中,j=1,2...6;
Figure BDA0003663000660000152
Figure BDA0003663000660000153
Figure BDA0003663000660000154
Figure BDA0003663000660000155
Figure BDA0003663000660000156
Figure BDA0003663000660000157
Figure BDA0003663000660000158
本实施例中,cosα1,1=0.9992,满足0.95≤cosα1,1≤1,则第1判断向量对应的像素点C″′1,1(59.3615,34.6724)记为第1特征角点,记为C1,1tem(59.3615,34.6724),则C1,1tem(59.3615,34.6724)为第ζ个正六边形编码标志中的第1特征角点,把C1,1tem(59.3615,34.6724)的亚像素坐标值赋值给C1,1(59.3615,34.6724);cosα1,4=-0.9912,-0.95≤cosα1,4≤-1,则第4判断向量对应的像素点C″′1,4(107.4169,116.4716)记为第4特征角点,记为C1,4tem(107.4169,116.4716),则C1,4tem(107.4169,116.4716)为第ζ个正六边形编码标志中的第1特征角点,把C1,4tem(107.4169,116.4716)的亚像素坐标值赋值给C1,4(107.4169,116.4716);
步骤9.4、在第1组第2个备份二值化图像P′1,2上,找出剩余4个像素点为中距离第1编码标志点像素坐标C1,1(59.3615,34.6724)最近的2个像素点,并分别记为C1,2tem(107.4126,34.6933)和C1,6tem(37.9261,75.8179);可通过公式(2)、(3)和(4)计算出在第1个正六边形编码标志中的第7判断向量
Figure BDA0003663000660000159
第8判断向量
Figure BDA00036630006600001510
和第9判断向量
Figure BDA00036630006600001511
并通过式(5)和式(6)计算出第2编码角点划分正弦值sinα1和第6编码角点划分正弦值sinβ1
Figure BDA00036630006600001512
Figure BDA00036630006600001513
Figure BDA00036630006600001514
Figure BDA00036630006600001515
Figure BDA0003663000660000161
本实施例中,sinα1<0,sinβ1>0,则C1,2tem(107.4126,34.6933)为第1个正六边形编码标志中第2编码区域的特征角点,把C1,2tem(107.4126,34.6933)的像素坐标值赋值给C1,2(107.4126,34.6933);C1,6tem(37.9261,75.8179)为第1个正六边形编码标志中第6编码区域的特征角点,把C1,6tem(37.9261,75.8179)的像素坐标值赋值给C1,6(37.9261,75.8179);
步骤9.5、在第ζ组第2个备份二值化图像P′ζ,2上,找到其它特征角点的序号:
记离C1,2(107.4126,34.6933)距离最远的特征角点为第5特征角点,记为C1,5tem(59.3924,116.4913),则C1,5tem(59.3924,116.4913)为第1个正六边形编码标志中的第5特征角点,把C1,5tem(59.3924,116.4913)的亚像素坐标值赋值给C1,5(59.3924,116.4913);记离C1,6(37.9261,75.8179)距离最远的特征角点为第3特征角点,记为C1,3tem(130.2783,75.8326),则C1,3tem(130.2783,75.8326)为第1个正六边形编码标志中的第3特征角点,把C1,3tem(130.2783,75.8326)的亚像素坐标值赋值给C1,3(130.2783,75.8326);
至此,在第1组第2个备份二值化图像P′1,2上找到了第1个正六边形编码标志中第1特征角点C1,1(59.3615,34.6724)、第2特征角点C1,2(107.4126,34.6933)、第3特征角点C1,3(130.2783,75.8326)、第4特征角点C1,4(107.4169,116.4716)、第5特征角点C1,5(59.3924,116.4913)、第6特征角点C1,6(37.9261,75.8179)。
步骤10、在第1组第2个备份二值化图像P′1,2上,根据得出的第1个正六边形编码标志中的第1特征角点C1,1(59.3615,34.6724)、第2特征角点C1,2(107.4126,34.6933)、第3特征角点C1,3(130.2783,75.8326)、第4特征角点C1,4(107.4169,116.4716)、第5特征角点C1,5(59.3924,116.4913)、第6特征角点C1,6(37.9261,75.8179),进一步处理计算得到第1个正六边形编码标志的编码号W1,具体方法包括以下步骤:
步骤10.1、在第1组第2个备份二值化图像P′1,2上,第1个正六边形编码标志的角点六边形S1内部的所有像素点的灰度值保持不变,将第1个正六边形编码标志的角点六边形S1以外的所有像素点的灰度值赋值为255,如图7所示;
步骤10.2、在第1组第2个备份二值化图像P′1,2上,提取第1个正六边形编码标志的角点六边形S1中所有的内、外轮廓,记为第1个正六边形编码标志内的轮廓集合D1
步骤10.3、根据第1个正六边形编码标志内的轮廓集合D1中,除去包含像素点数最多的两个轮廓,本实施例中剩余轮廓个数κ1==3满足情况2:κ1≠0,则这1个轮廓即为第1个正六边形编码标志内编码标志圆的轮廓,记为编码标志圆
Figure BDA0003663000660000171
编码标志圆
Figure BDA0003663000660000172
和编码标志圆
Figure BDA0003663000660000173
步骤10.4、给整数变量i并赋予初值i=1;
步骤10.5、在第1组第2个备份二值化图像P′1,2上,计算编码标志圆轮廓
Figure BDA0003663000660000174
的质心像素坐标,将i+1重新赋值给i后继续执行此步骤,直到i>3结束;由此可以得到编码标志圆轮廓
Figure BDA0003663000660000175
的质心像素坐标
Figure BDA0003663000660000176
编码标志圆轮廓
Figure BDA0003663000660000177
的质心像素坐标
Figure BDA0003663000660000178
和编码标志圆轮廓
Figure BDA0003663000660000179
的质心像素坐标
Figure BDA00036630006600001710
步骤10.6、在第1组第2个备份二值化图像P′1,2上,根据得出的第1个正六边形编码标志中第1特征角点C1,1(59.3615,34.6724)、第2特征角点C1,2(107.4126,34.6933)、第3特征角点C1,3(130.2783,75.8326)、第4特征角点C1,4(107.4169,116.4716)、第5特征角点C1,5(59.3924,116.4913)、第6特征角点C1,6(37.9261,75.8179),连接第1特征角点C1,1(59.3615,34.6724)和正六边形编码标志质心o″d,1(83.6313,75.6632),记为线段Lo1,连接第2特征角点C1,2(107.4126,34.6933)和正六边形编码标志质心o″d,1(83.6313,75.6632),记为线段Lo2,连接第3特征角点C1,3(130.2783,75.8326)和正六边形编码标志质心o″d,1(83.6313,75.6632),记为线段Lo3,连接第4特征角点C1,4(107.4169,116.4716)和正六边形编码标志质心o″d,1(83.6313,75.6632),记为线段Lo4,连接第5特征角点C1,5(59.3924,116.4913)和正六边形编码标志质心o″d,1(83.6313,75.6632),记为线段Lo5,连接第6特征角点C1,6(37.9261,75.8179)和正六边形编码标志质心o″d,1(83.6313,75.6632),记为线段Lo6
步骤10.7、在第1组第2个备份二值化图像P′ζ,2上,通过公式(16)和(17)分别计算出在第ζ个正六边形编码标志中的第i个判别向量
Figure BDA00036630006600001711
和第ε个分辨向量
Figure BDA00036630006600001712
并根据式(17)、(18)、(19)、(20)、(21)和(22)计算出的余弦值
Figure BDA00036630006600001713
来判断出第ε个编码标志圆所在的对应线段Loi,其中,i=1,2...6,ε=1,2...κζ
Figure BDA0003663000660000181
Figure BDA0003663000660000182
Figure BDA0003663000660000183
Figure BDA0003663000660000184
Figure BDA0003663000660000185
Figure BDA0003663000660000186
Figure BDA0003663000660000191
Figure BDA0003663000660000192
本实施例中,
Figure BDA0003663000660000193
满足
Figure BDA0003663000660000194
所以编码标志圆
Figure BDA0003663000660000195
位于线段Lo1上;
Figure BDA0003663000660000196
Figure BDA0003663000660000197
所以编码标志圆
Figure BDA0003663000660000198
和编码标志圆
Figure BDA0003663000660000199
位于线段Lo5上;
步骤10.8、定义6个浮点型二维数组Cr1 1[2][2]、Cr1 2[2][2]、Cr1 3[2][2]、Cr1 4[2][2]、Cr1 5[2][2]、Cr1 6[2][2]用于存放第1个正六边形编码标志中分别位于线段Lo1、线段Lo2、线段Lo3、线段Lo4、线段Lo5、线段Lo6上的编码标志圆轮廓质心在第1组第2个备份二值化图像P′1,2上的像素坐标,初始化这6个二维数组中的所有元素,且赋值为-1;
步骤10.9、定义
Figure BDA00036630006600001910
代表第1个正六边形编码标志中线段Loi上第w位编码标志圆的编码值,
Figure BDA00036630006600001911
取0或1;其中w=1,2,λ=1,2,3,4,5,6;取整数变量i,给i重新赋予初值i=1;
步骤10.10、分别根据
Figure BDA00036630006600001912
的取值情况,分别给对应的
Figure BDA00036630006600001913
Figure BDA00036630006600001914
赋值为0或1;具体分为以下四种情况:
情况1、若Cr1 i[0][0]==-1,Cr1 i[0][1]==-1,Cr1 i[1][0]==-1,Cr1 i[1][1]==-1,则
Figure BDA00036630006600001915
把i+1赋值给i,当满足i>6时,继续执行下一步骤10.11;否则,返回执行步骤10.10;
情况2、若Cr1 i[0][0]==-1,Cr1 i[0][1]==-1,Cr1 i[1][0]≠-1,Cr1 i[1][1]≠-1,记坐标点(Cr1 i[1][0],Cr1 i[1][1])到正六边形质心的距离为
Figure BDA00036630006600001916
到第i特征角点C1,i(x1,i,y1,i)的距离为
Figure BDA00036630006600001917
Figure BDA00036630006600001918
并令
Figure BDA00036630006600001919
Figure BDA00036630006600001920
则令
Figure BDA00036630006600001921
把i+1赋值给i,当满足i>6时,继续执行下一步骤10.11;否则,返回执行步骤10.10;
情况3、若Cr1 i[0][0]≠-1,Cr1 i[0][1]≠-1,Cr1 i[1][0]==-1,Cr1 i[1][1]==-1,记坐标点(Cr1 i[0][0],Cr1 i[0][1])到正六边形质心的距离为
Figure BDA00036630006600001922
到第i特征角点C1,i(x1,i,y1,i)的距离为
Figure BDA0003663000660000201
Figure BDA0003663000660000202
则令
Figure BDA0003663000660000203
Figure BDA0003663000660000204
Figure BDA0003663000660000205
把i+1赋值给i,当满足i>6时,继续执行下一步骤10.11;否则,返回执行步骤10.10;
情况4、若Cr1 i[0][0]≠-1,Cr1 i[0][1]≠-1,Cr1 i[1][0]≠-1,Cr1 i[1][1]≠-1,则令
Figure BDA0003663000660000206
把i+1赋值给i,当满足i>6时,继续执行下一步骤10.11;否则,返回执行步骤10.10;
在本实施例中,
1)Cr1 1[0][0]==-1,Cr1 1[0][1]==-1,Cr1 1[1][0]≠-1,Cr1 1[1][1]≠-1,且
Figure BDA0003663000660000207
则令
Figure BDA0003663000660000208
2)Cr1 2[0][0]==-1,Cr1 2[0][1]==-1,Cr1 2[1][0]==-1,Cr1 2[1][1]==-1,则令
Figure BDA0003663000660000209
3)Cr1 3[0][0]==-1,Cr1 3[0][1]==-1,Cr1 3[1][0]==-1,Cr1 3[1][1]==-1,则令
Figure BDA00036630006600002010
4)Cr1 4[0][0]==-1,Cr1 4[0][1]==-1,Cr1 4[1][0]==-1,Cr1 4[1][1]==-1,则令
Figure BDA00036630006600002011
5)Cr1 5[0][0]≠-1,Cr1 5[0][1]≠-1,Cr1 5[1][0]≠-1,Cr1 5[1][1]≠-1,则令
Figure BDA00036630006600002012
6)Cr1 6[0][0]==-1,Cr1 6[0][1]==-1,Cr1 6[1][0]==-1,Cr1 6[1][1]==-1,则令
Figure BDA00036630006600002013
步骤10.11、通过上述步骤得出的第1个正六边形编码标志中所有编码标志圆的编码取值
Figure BDA00036630006600002014
由公式(24)求出第1个正六边形编码标志的编码号W1
W1=V1 T·U=770 (24)
其中,列向量U=(20,21,22,...211)T,列向量V1=(0,1,0,0,0,0,0,0,1,1,0,0)T
步骤11、结合角点序号σ和编码号W1,按照预设的编号规则,获得第1个正六形编码标志中6个特征角点各自的编号
Figure BDA00036630006600002015
及与其相应的亚像素坐标值;
具体的编号规则为:
记第1个正六边形编码标志上属于第σ特征角点的编码号为
Figure BDA00036630006600002016
其中下脚标W1为特征角点
Figure BDA00036630006600002017
所属编码方格的编码号,上角标σ的取值为标定角点
Figure BDA00036630006600002018
所属编码区域的编码号;其中σ=1,2,3,4,5,6;则获得了第1个正六形编码标志中6个特征角点各自的编码号与其相应的亚像素坐标值:
编码号为
Figure BDA00036630006600002019
的特征角点的亚像素坐标值为(59.3615,34.6724);
编码号为
Figure BDA00036630006600002020
的特征角点的亚像素坐标值为(107.4126,34.6933);
编码号为
Figure BDA00036630006600002021
的特征角点的亚像素坐标值为(130.2783,75.8326);
编码号为
Figure BDA0003663000660000211
的特征角点的亚像素坐标值为(107.4169,116.4716);
编码号为
Figure BDA0003663000660000212
的特征角点的亚像素坐标值为(59.3924,116.4913);
编码号为
Figure BDA0003663000660000213
的特征角点的亚像素坐标值为(37.9261,75.8179)。
步骤12、由于此时ζ=1,N=8,满足ζ≤8,则将2重新赋值给ζ,并返回步骤4重复顺序执行;直至ζ=8,找到8个正六边形编码标志上6个特征角点的编号和对应的亚像素坐标。
本发明还提供了一种计算机可读存储介质,其存储有与具有图像处理功能的电子设备结合使用的计算机程序,所述计算机程序可被处理器执行以实现所述的解码方法。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (12)

1.一种用于视觉定位的正六边形编码标志解码方法,其特征在于:以正六边形编码标志的6个顶点作为特征角点,该解码方法主要包括以下步骤:
步骤1、利用摄像机拍摄空间中放置的N个正六边形编码标志,进而获得编码标志图像,所述编码标志图像当中包含N个正六边形编码标志,N为正整数;
步骤2、对编码标志图像进行灰度处理得到编码标志灰度图像P1,对编码标志灰度图像P1进行复制备份得到编码标志灰度备份图像P′1
步骤3、对编码标志灰度备份图像P′1进行二值化处理,使得每个正六边形编码标志的背景颜色均为黑色,灰度值为0,每个正六边形编码标志内的指向图案均为白色,灰度值为255,编码单元图案的颜色根据正六边形编码标志的编码规则可以为白色也可以为黑色,进而得到编码标志二值化图像P2
步骤4、将编码标志二值化图像P2进行三次复制备份,分别得到第ζ组第1个备份二值化图像P′ζ,1、第ζ组第2个备份二值化图像P′ζ,2和第ζ组第3个备份二值化图像P′ζ,3,其中ζ为整数,且1≤ζ≤N;
步骤5、在上述拍摄的包含N个正六边形编码标志的图像中,选取图像左上角作为角点像素坐标系的原点o,自左向右为角点像素坐标系的x轴方向,自上向下作为角点像素坐标系的y轴方向,由此建立角点像素坐标系o_xy;
步骤6、利用六边形轮廓检测算法获取正六边形编码标志的6个特征角点的亚像素坐标C′ζ,i(x′ζ,i,y′ζ,i),其中i=1,2,3,4,5,6;
步骤7、在第ζ组第2个备份二值化图像P′ζ,2上,获得第ζ个正六边形编码标志的角点六边形Sζ
步骤8、利用直线检测算法在第ζ组第3个备份二值化图像P′ζ,3上获取离第ζ个编码标志质心像素坐标值o″d,ζ(x″d,ζ,y″d,ζ)中最近的两条直线,把两条直线的交点记为指向特征角点
Figure RE-FDA0003739625130000011
并且将得到的第ζ个指向特征角点坐标
Figure RE-FDA0003739625130000012
作为指向特征角点集合∪的第ζ个元素;创建一幅和P′ζ,3尺寸相同且所有像素点的灰度值均为255的图像,并在上面画出获取到的两条直线,得到的图像记为第ζ个指向角点图像P″ζ,3
步骤9、在第ζ组第2个备份二值化图像P′ζ,2上,根据指向特征角点
Figure RE-FDA0003739625130000013
经过计算处理得到第ζ个正六边形编码标志中的第1特征角点Cζ,1(xζ,1,yζ,1)、第2特征角点Cζ,2(xζ,2,yζ,2)、第3特征角点Cζ,3(xζ,3,yζ,3)、第4特征角点Cζ,4(xζ,4,yζ,4)、第5特征角点Cζ,5(xζ,5,yζ,5)、第6特征角点Cζ,6(xζ,6,yζ,6),完成第ζ个正六边形特征角点的排序;
步骤10、在第ζ组第2个备份二值化图像P′ζ,2上,根据得出的第ζ个正六边形编码标志中的第1特征角点Cζ,1(xζ,1,yζ,1)、第2特征角点Cζ,2(xζ,2,yζ,2)、第3特征角点Cζ,3(xζ,3,yζ,3)、第4特征角点Cζ,4(xζ,4,yζ,4)、第5特征角点Cζ,5(xζ,5,yζ,5)、第6特征角点Cζ,6(xζ,6,yζ,6)和编码标志质心o″d,ζ(x″d,ζ,y″d,ζ),进一步处理计算得到第ζ个正六边形编码标志的编码号Wζ
步骤11、结合角点序号σ和编码号Wζ,按照预设的编号规则,获得第ζ个正六形编码标志中6个特征角点各自的编号
Figure RE-FDA0003739625130000021
及与其相应的亚像素坐标值;
步骤12、重复执行步骤4至步骤11,完成其余(N-1)个正六边形编码标志上6个特征角点各自的编号和对应的亚像素坐标值。
2.根据权利要求1所述的用于视觉定位的正六边形编码标志解码方法,其特征在于:在步骤6中,提取正六边形编码标志的6个特征角点的亚像素坐标C′ζ,i(x′ζ,i,y′ζ,i),具体方法包括以下步骤:
步骤6.1、对编码标志灰度图像P1再次进行复制备份,获得第ζ个备份灰度图像P″ζ
步骤6.2、利用六边形轮廓检测算法在第ζ组第1个备份二值化图像P′ζ,1中提取6个角点的亚像素坐标,进而得到第ζ个无复杂背景六边形轮廓图像P″ζ,1;在所述第ζ个无复杂背景六边形轮廓图像P″ζ,1中,包含编码标志的6个备选特征角点C″ζ,1(x″ζ,1,y″ζ,1)、C″ζ,2(x″ζ,2,y″ζ,2)、C″ζ,3(x″ζ,3,y″ζ,3)、C″ζ,4(x″ζ,4,y″ζ,4)、C″ζ,5(x″ζ,5,y″ζ,5)、C″ζ,6(x″ζ,6,y″ζ,6),且六边形轮廓内部的所有像素点的灰度值被置为0,外部的所有像素点的灰度值被置为255;
步骤6.3、利用角点检测算法在第ζ个备份灰度图像P″ζ中提取所有角点的亚像素坐标并存入第ζ个初选角点亚像素坐标集合Bζ中,进而得到第ζ个初选角点图像P″′ζ;其中,第ζ个初选角点亚像素坐标集合Bζ中存放着第ζ个初选角点图像P″′ζ上包含六边形编码标志的6个特征角点亚像素坐标值和干扰角点的亚像素坐标值,所述干扰角点是除特征角点以外的干扰角点;
步骤6.4、取整数变量i并赋值i=1;
步骤6.5、在所述第ζ个初选角点亚像素坐标集合Bζ中寻找距离亚像素坐标值C″ζ,i(x″ζ,i,y″ζ,i)最近的角点亚像素坐标并记为C′ζ,i(x′ζ,i,y′ζ,i);
步骤6.6、判断i是否小于等于6,若i≤6,则将i+1赋值给i并返回执行步骤6.4;否则,此时正六边形编码标志的6个特征角点的亚像素坐标C′ζ,1(x′ζ,1,y′ζ,1)、C′ζ,2(x′ζ,2,y′ζ,2)、C′ζ,3(x′ζ,3,y′ζ,3)、C′ζ,4(x′ζ,4,y′ζ,4),C′ζ,5(x′ζ,5,y′ζ,5),C′ζ,6(x′ζ,6,y′ζ,6);
步骤6.7、在第ζ组第3个备份二值化图像P′ζ,3上画出正六边形编码标志的6个特征角点,得到角点图像P″ζ,3;所述角点图像P″ζ,3中六个特征角点所形成的六边形外部的所有像素点的灰度值被置为255,内部的所有像素点的灰度值保持不变。
3.根据权利要求1所述的一种用于视觉定位的正六边形编码标志解码方法,其特征在于:在步骤7中,获得包含正六边形编码标志质心坐标值o″d,ζ(x″d,ζ,y″d,ζ)的第ζ个正六边形编码标志的角点六边形Sζ的方法为:
步骤7.1、根据步骤6中得到的正六边形编码标志的6个特征角点亚像素坐标,由公式(1)和公式(2)计算出正六边形编码标志质心坐标值(x″d,ζ,y″d,ζ);
x″d,ζ=1/3×[1/2×(x'ζ,1+x'ζ,2+...x'ζ,6)] (1)
y″d,ζ=1/3×[1/2×(y'ζ,1+y'ζ,2+...y'ζ,6)] (2)
步骤7.2、在第ζ组第2个备份二值化图像P′ζ,2上,将包含质心像素坐标值o″d,ζ(x″d,ζ,y″d,ζ)的编码标志记为第ζ个正六边形编码标志;
步骤7.3、在第ζ组第2个备份二值化图像P′ζ,2上,分别选取亚像素坐标值C′ζ,1(x′ζ,1,y′ζ,1)、C′ζ,2(x′ζ,2,y′ζ,2)、C′ζ,3(x′ζ,3,y′ζ,3)、C′ζ,4(x′ζ,4,y′ζ,4),C′ζ,5(x′ζ,5,y′ζ,5),C′ζ,6(x′ζ,6,y′ζ,6)的6个像素点作为第ζ个正六边形编码标志的角点六边形Sζ的6个顶点,将6个顶点相连进而获得第ζ个正六边形编码标志的角点六边形Sζ
4.根据权利要求1所述的一种用于视觉定位的正六边形编码标志解码方法,其特征在于:在步骤9中,完成第ζ个正六边形特征角点的排序的方法包括以下步骤:
步骤9.1、在第ζ组第2个备份二值化图像P′ζ,2上,把第ζ个正六边形编码标志的特征角点的亚像素坐标值为(x′ζ,1,y′ζ,1)、(x′ζ,2,y′ζ,2)、(x′ζ,3,y′ζ,3)、(x′ζ,4,y′ζ,4)、(x′ζ,5,y′ζ,5)、(x′ζ,6,y′ζ,6)的6个像素点分别记为C″′ζ,1(x″′ζ,1,y″′ζ,1)、C″′ζ,2(x″′ζ,2,y″′ζ,2)、C″′ζ,3(x″′ζ,3,y″′ζ,3)、C″′ζ,4(x″′ζ,4,y″′ζ,4)、C″′ζ,5(x″′ζ,5,y″′ζ,5)、C″′ζ,6(x″′ζ,6,y″′ζ,6);
步骤9.2、在第ζ组第2个备份二值化图像P′ζ,2上,第ζ个正六边形编码标志中的方向向量
Figure RE-FDA0003739625130000041
可由公式(3)得:
Figure RE-FDA0003739625130000042
步骤9.3、在第ζ组第2个备份二值化图像P′ζ,2上,通过公式(4)、(5)、(6)、(7)、(8)和(9)计算出在第ζ个正六边形编码标志中的第1判断向量
Figure RE-FDA0003739625130000043
第2判断向量
Figure RE-FDA0003739625130000044
第3判断向量
Figure RE-FDA0003739625130000045
第4判断向量
Figure RE-FDA0003739625130000046
第5判断向量
Figure RE-FDA0003739625130000047
和第6判断向量
Figure RE-FDA0003739625130000048
并根据式(10)计算出的余弦值cosαζ,j来判断出第1特征角点和第4特征角点,其中,j=1,2...6;
Figure RE-FDA0003739625130000049
Figure RE-FDA00037396251300000410
Figure RE-FDA00037396251300000411
Figure RE-FDA00037396251300000412
Figure RE-FDA00037396251300000413
Figure RE-FDA00037396251300000414
Figure RE-FDA00037396251300000415
若0.95≤cosαζ,j≤1,则第j判断向量对应的像素点C″′ζ,j(x″′ζ,j,y″′ζ,j)记为第1特征角点,记为Cζ,1tem(xζ,1tem,yζ,1tem),则Cζ,1tem(xζ,1tem,yζ,1tem)为第ζ个正六边形编码标志中的第1特征角点,把Cζ,1tem(xζ,1tem,yζ,1tem)的亚像素坐标值赋值给Cζ,1(xζ,1,yζ,1);若-0.95≤cosαζ,j≤-1,则第j判断向量对应的像素点C″′ζ,j(x″′ζ,j,y″′ζ,j)记为第4特征角点,记为Cζ,4tem(xζ,4tem,yζ,4tem),则Cζ,4tem(xζ,4tem,yζ,4tem)为第ζ个正六边形编码标志中的第1特征角点,把Cζ,4tem(xζ,4tem,yζ,4tem)的亚像素坐标值赋值给Cζ,4(xζ,4,yζ,4);
步骤9.4、在第ζ组第2个备份二值化图像P′ζ,2上,找出剩余4个像素点中距离第1编码标志点像素坐标Cζ,1(xζ,1,yζ,1)最近的2个像素点,并分别记为Cζ,2tem(xζ,2tem,yζ,2tem)和Cζ,6tem(xζ,6tem,yζ,6tem);通过公式(11)、(12)和(13)计算出在第ζ个正六边形编码标志中的第7判断向量
Figure RE-FDA00037396251300000416
第8判断向量
Figure RE-FDA00037396251300000417
和第9判断向量
Figure RE-FDA00037396251300000418
并通过式(14)和式(15)计算出第2编码角点划分正弦值sinαζ和第6编码角点划分正弦值sinβζ
Figure RE-FDA0003739625130000051
Figure RE-FDA0003739625130000052
Figure RE-FDA0003739625130000053
Figure RE-FDA0003739625130000054
Figure RE-FDA0003739625130000055
若sinαζ<0,sinβζ>0,则Cζ,2tem(xζ,2tem,yζ,2tem)为第ζ个正六边形编码标志中的第2特征角点,把Cζ,2tem(xζ,2tem,yζ,2tem)的像素坐标值赋值给Cζ,2(xζ,2,yζ,2);Cζ,6tem(xζ,6tem,yζ,6tem)为第ζ个正六边形编码标志中的第6特征角点,把Cζ,6tem(xζ,6tem,yζ,6tem)的像素坐标值赋值给Cζ,6(xζ,6,yζ,6);
若sinαζ>0,sinβζ<0,则Cζ,2tem(xζ,2tem,yζ,2tem)为第ζ个正六边形编码标志中第6特征角点,把Cζ,2tem(xζ,2tem,yζ,2tem)的亚像素坐标值赋值给Cζ,6(xζ,6,yζ,6);Cζ,6tem(xζ,6tem,yζ,6tem)为第ζ个正六边形编码标志中第2特征角点,把Cζ,6tem(xζ,6tem,yζ,6tem)的亚像素坐标值赋值给Cζ,2(xζ,2,yζ,2);
步骤9.5、在第ζ组第2个备份二值化图像P′ζ,2上,找到剩余2个特征角点的序号:
记离Cζ,2(xζ,2,yζ,2)距离最远的特征角点为第5特征角点,记为Cζ,5tem(xζ,5tem,yζ,5tem),则Cζ,5tem(xζ,5tem,yζ,5tem)为第ζ个正六边形编码标志中的第5特征角点,把Cζ,5tem(xζ,5tem,yζ,5tem)的亚像素坐标值赋值给Cζ,5(xζ,5,yζ,5);记离Cζ,6(xζ,6,yζ,6)距离最远的特征角点为第3特征角点,记为Cζ,3tem(xζ,3tem,yζ,3tem),则Cζ,3tem(xζ,3tem,yζ,3tem)为第ζ个正六边形编码标志中的第3特征角点,把Cζ,5min(xζ,5min,yζ,5min)的亚像素坐标值赋值给Cζ,3(xζ,3,yζ,3);
至此,在第ζ组第2个备份二值化图像P′ζ,2上找到了第ζ个正六边形编码标志中第1特征角点Cζ,1(xζ,1,yζ,1)、第2特征角点Cζ,2(xζ,2,yζ,2)、第3特征角点Cζ,3(xζ,3,yζ,3)、第4特征角点Cζ,4(xζ,4,yζ,4)、第5特征角点Cζ,5(xζ,5,yζ,5)、第6特征角点Cζ,6(xζ,6,yζ,6)。
5.根据权利要求1所述的一种用于视觉定位的正六边形编码标志解码方法,其特征在于:步骤10中,在第ζ组第2个备份二值化图像P′ζ,2上,根据第ζ个正六边形编码标志中的编码标志质心和特征角点处理计算得到第ζ个正六边形编码标志的编码号Wζ的方法包括以下步骤:
步骤10.1、在第ζ组第2个备份二值化图像P′ζ,2上,第ζ个正六边形编码标志的角点六边形Sζ内部的所有像素点的灰度值保持不变,将第ζ个正六边形编码标志的角点六边形Sζ以外的所有像素点的灰度值赋值为255;
步骤10.2、在第ζ组第2个备份二值化图像P′ζ,2上,提取第ζ个正六边形编码标志的角点六边形Sζ中所有的内、外轮廓,记为第ζ个正六边形编码标志内的轮廓集合Dζ
步骤10.3、根据第ζ个正六边形编码标志内的轮廓集合Dζ中,除去包含像素点数最多的两个轮廓,剩余轮廓个数κζ的大小分为如下情况:
情况1、若κζ==0,则执行步骤11;
情况2、若κζ≠0,则这κζ个轮廓即为第ζ个正六边形编码标志内编码标志圆的轮廓,分别记为编码标志圆
Figure RE-FDA0003739625130000061
编码标志圆
Figure RE-FDA0003739625130000062
…、编码标志圆
Figure RE-FDA0003739625130000063
步骤10.4、给整数变量i并赋予初值i=1;
步骤10.5、在第ζ组第2个备份二值化图像P′ζ,2上,计算编码标志圆轮廓
Figure RE-FDA00037396251300000616
的质心像素坐标
Figure RE-FDA00037396251300000617
将i+1重新赋值给i后继续执行此步骤,直到i>κζ结束;由此可以得到对应编码标志圆轮廓
Figure RE-FDA0003739625130000064
编码标志圆轮廓
Figure RE-FDA0003739625130000065
…、编码标志圆轮廓
Figure RE-FDA0003739625130000066
的质心像素坐标
Figure RE-FDA0003739625130000067
步骤10.6、在第ζ组第2个备份二值化图像P′ζ,2上,根据得出的第ζ个正六边形编码标志中第j特征角点Cζ,j(xζ,j,yζ,j),分别连接第j特征角点Cζ,j(xζ,j,yζ,j)和编码标志质心o″d,ζ(x″d,ζ,y″d,ζ)得到线段Loi,其中j=1,2,3,4,5,6;
步骤10.7、在第ζ组第2个备份二值化图像P′ζ,2上,通过公式(16)和(17)分别计算出在第ζ个正六边形编码标志中的第i个判别向量
Figure RE-FDA0003739625130000068
和第ε个分辨向量
Figure RE-FDA0003739625130000069
并根据式(18)、(19)、(20)、(21)、(22)和(23)计算出的余弦值
Figure RE-FDA00037396251300000610
来判断出第ε个编码标志圆所在的对应线段Loi,其中,i=1,2...6,ε=1,2...κζ
Figure RE-FDA00037396251300000611
Figure RE-FDA00037396251300000612
Figure RE-FDA00037396251300000613
Figure RE-FDA00037396251300000614
Figure RE-FDA00037396251300000615
Figure RE-FDA0003739625130000071
Figure RE-FDA0003739625130000072
Figure RE-FDA0003739625130000073
Figure RE-FDA0003739625130000074
则编码标志圆
Figure RE-FDA0003739625130000075
位于位于线段Lo1上;若
Figure RE-FDA0003739625130000076
则编码标志圆
Figure RE-FDA0003739625130000077
位于位于线段Lo2上;若
Figure RE-FDA0003739625130000078
则编码标志圆
Figure RE-FDA0003739625130000079
位于位于线段Lo3上;若
Figure RE-FDA00037396251300000710
则编码标志圆
Figure RE-FDA00037396251300000711
位于位于线段Lo4上;若
Figure RE-FDA00037396251300000712
则编码标志圆
Figure RE-FDA00037396251300000713
位于位于线段Lo5上;若
Figure RE-FDA00037396251300000714
则编码标志圆
Figure RE-FDA00037396251300000715
位于位于线段Lo6上;
步骤10.8、定义6个浮点型二维数组
Figure RE-FDA00037396251300000716
用于存放第ζ个正六边形编码标志中分别位于线段Loi上的编码标志圆轮廓质心在第ζ组第2个备份二值化图像P′ζ,2上的像素坐标,初始化这6个二维数组中的所有元素,且赋值为-1;其中i=1,2,3,4,5,6;
步骤10.9、定义
Figure RE-FDA00037396251300000717
代表第ζ个正六边形编码标志中线段Loi上第w位编码标志圆的编码值,
Figure RE-FDA00037396251300000718
取0或1;其中w=1,2,λ=1,2,3,4,5,6,i=1,2,3,4,5,6;
步骤10.10、分别根据
Figure RE-FDA00037396251300000719
的取值情况,分别给对应的
Figure RE-FDA00037396251300000720
Figure RE-FDA00037396251300000721
赋值为0或1;
步骤10.11、通过上述得出的第ζ个正六边形编码标志中所有编码标志圆的编码取值
Figure RE-FDA00037396251300000722
由公式(24)求出第ζ个正六边形编码标志的编码号Wζ
Wζ=Vζ T·U (24)
其中,列向量U=(20,21,22,...211)T,列向量
Figure RE-FDA00037396251300000723
6.根据权利要求1所述的一种用于视觉定位的正六边形编码标志解码方法,其特征在于:步骤11中,第ζ个正六形编码标志中6个特征角点各自的编码号与其相应的亚像素坐标值的编号规则为:
记第ζ个正六边形编码标志上属于第σ特征角点的编码号为
Figure RE-FDA00037396251300000724
其中下脚标Wζ为特征角点
Figure RE-FDA00037396251300000725
所属编码标志的编码号,上角标σ的取值为特征角点
Figure RE-FDA00037396251300000726
的角点序号,其中,σ=1,2,3,4,5,6;则获得了第ζ个正六形编码标志中6个特征角点各自的编码号与其相应的亚像素坐标值:
编码号为
Figure RE-FDA00037396251300000727
的特征角点的亚像素坐标值为(xζ,1,yζ,1);
编码号为
Figure RE-FDA0003739625130000081
的特征角点的亚像素坐标值为(xζ,2,yζ,2);
编码号为
Figure RE-FDA0003739625130000082
的特征角点的亚像素坐标值为(xζ,3,yζ,3);
编码号为
Figure RE-FDA0003739625130000083
的特征角点的亚像素坐标值为(xζ,4,yζ,4);
编码号为
Figure RE-FDA0003739625130000084
的特征角点的亚像素坐标值为(xζ,5,yζ,5);
编码号为
Figure RE-FDA0003739625130000085
的特征角点的亚像素坐标值为(xζ,6,yζ,6)。
7.一种用于权利要求1-6任意一项所述解码方法的正六边形编码标志,其特征在于:所述正六边形编码标志的6个顶点作为特征角点,在视觉结构光三维测量过程中,用于目标曲面的三维点云拼接;所述正六边形编码标志内含有指向图案和编码图案,其中编码图案又由多个编码单元图案组成,由指向图案可实现正六边形编码标志起始角点的判断,编码图案则是用于对正六边形编码标志中的每一个角点进行编码。
8.根据权利要求7所述的一种正六边形编码标志,其特征在于:所述正六边形编码标志为边长为a的正六边形,指向图案、编码图案均不重叠且不连通,指向图案为边长为β、弧长为ε的扇形,指向图案的质心和正六边形的质心为同一个点,所有编码单元图案为圆形。
9.根据权利要求8所述的一种正六边形编码标志,其特征在于:所述正六边形编码标志中,指向图案的周长小于6a,每个编码单元图案的轮廓长度均小于指向图案的轮廓长度。
10.根据权利要求7或8所述的一种正六边形编码标志,其特征在于:所述正六边形编码标志的背景颜色与指向图案的颜色具有明显差异,所有编码单元图案的颜色与正六边形编码标志的背景颜色相同或与指向图案的颜色相同。
11.根据权利要求7或8所述的一种正六边形编码标志,其特征在于:在所述正六边形编码标志中,指向图案和所有编码单元图案的面积大小满足如下关系:指向图案的面积大于编码单元图案的面积,各个编码单元图案的面积相同。
12.一种计算机可读存储介质,存储有与具有图像处理功能的电子设备结合使用的计算机程序,所述计算机程序可被处理器执行以实现权利要求1所述的解码方法。
CN202210584704.2A 2022-05-26 2022-05-26 用于视觉定位的正六边形编码标志解码方法 Pending CN115222828A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210584704.2A CN115222828A (zh) 2022-05-26 2022-05-26 用于视觉定位的正六边形编码标志解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210584704.2A CN115222828A (zh) 2022-05-26 2022-05-26 用于视觉定位的正六边形编码标志解码方法

Publications (1)

Publication Number Publication Date
CN115222828A true CN115222828A (zh) 2022-10-21

Family

ID=83608251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210584704.2A Pending CN115222828A (zh) 2022-05-26 2022-05-26 用于视觉定位的正六边形编码标志解码方法

Country Status (1)

Country Link
CN (1) CN115222828A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116628786A (zh) * 2023-07-26 2023-08-22 中南大学 一种异形立体标志球制造方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116628786A (zh) * 2023-07-26 2023-08-22 中南大学 一种异形立体标志球制造方法
CN116628786B (zh) * 2023-07-26 2023-10-10 中南大学 一种异形立体标志球制造方法

Similar Documents

Publication Publication Date Title
CN109215016B (zh) 一种编码标志的识别定位方法
CN108573511B (zh) 点状分布合作编码标志及其识别定位方法
CN110738273B (zh) 图像特征点的匹配方法、装置、设备及存储介质
CN111981982B (zh) 一种基于加权sfm算法的多向合作靶标光学测量方法
CN113129397B (zh) 一种基于图形几何关系的平行四边形编码标志的解码方法
CN113129385B (zh) 基于空间中多编码平面靶标的双目摄像机内外参数标定方法
CN113160329B (zh) 用于摄像机标定的编码平面靶标及其解码方法
CN113673410B (zh) 人工标记的生成方法、识别方法、装置、设备、介质和程序
CN113096191B (zh) 基于编码平面靶标的单目摄像机智能标定方法
CN115222828A (zh) 用于视觉定位的正六边形编码标志解码方法
CN115609591A (zh) 一种基于2D Marker的视觉定位方法和***、复合机器人
CN109186550B (zh) 一种可编码近景摄影测量标志的编码解码与测量方法
CN112257721A (zh) 一种基于Fast ICP的图像目标区域匹配方法
CN110570354B (zh) 一种基于长条形棋盘格标定板的近景图像拼接方法
CN115880373A (zh) 基于新型编码特征的立体视觉***的标定板及标定方法
CN113129386B (zh) 基于编码平面靶标的双目摄像机内外参数的智能标定方法
CN113129396B (zh) 一种基于区域分割的平行四边形编码标志的解码方法
CN113421311B (zh) 一种正六边形编码标志及其编码方法
CN113112549B (zh) 一种基于编码立体靶标的单目摄像机快速标定方法
CN113192143B (zh) 一种用于摄像机快速标定的编码立体靶标及其解码方法
CN113112550A (zh) 一种用于摄像机内外参数标定的编码平面靶标及其编码方法
CN108229625B (zh) 一种编码方法及装置
CN113129394B (zh) 一种基于区域分割编码的平行四边形编码标志及其编码方法
CN113188524B (zh) 一种基于图形几何关系的平行四边形编码标志及其编码方法
WO2022015297A1 (en) Fiducial location

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination