CN113112549B - 一种基于编码立体靶标的单目摄像机快速标定方法 - Google Patents
一种基于编码立体靶标的单目摄像机快速标定方法 Download PDFInfo
- Publication number
- CN113112549B CN113112549B CN202110386671.6A CN202110386671A CN113112549B CN 113112549 B CN113112549 B CN 113112549B CN 202110386671 A CN202110386671 A CN 202110386671A CN 113112549 B CN113112549 B CN 113112549B
- Authority
- CN
- China
- Prior art keywords
- target
- coding
- calibration
- plane
- image
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本发明公开了一种基于编码立体靶标的单目摄像机快速标定方法,该标定方法利用空间中位置固定的一台摄像机拍摄位于空间中的编码立体靶标,得到一幅靶标图像;通过编码立体靶标的解码方法,获取靶标图像中编码立体靶标上每个编码平面靶标的标定角点的亚像素坐标、标定角点唯一编码序号和世界坐标,若靶标图像满足标定条件则将其作为标定图像;最后根据标定图像,利用标定算法求解出摄像机的内外参数。本发明能够实现单目摄像机内外参数的自动标定,能够利用一幅靶标图像中包含的多个完整或局部的编码平面靶标图像完成标定工作,降低了摄像机标定的复杂性,提高了摄像机标定的效率。
Description
技术领域
本发明涉及计算机视觉中摄像机标定方法领域,具体为一种基于编码立体靶标的单目摄像机快速标定方法。
背景技术
计算机视觉技术在工业控制、测量学等领域有着广泛的应用,计算机视觉技术主要是利用摄像机的成像,通过图像信息获取空间中被测物体的三维信息,由此重建和识别物体。计算机视觉技术的根本问题是摄像机标定,通过摄像机标定技术可以获得空间三维坐标与图像二维坐标之间的映射关系,摄像机标定技术是计算机视觉测量技术的研究重点,摄像机标定的任务就是求解摄像机的内外参数,摄像机标定技术得到越来越多的关注和发展。
1986年Roger Tsai提出了基于径向约束的摄像机标定算法,该标定算法需要3D立体靶标,使得标定过程不灵活;1999年前后,张正友(Z.YZhang)提出了基于平面靶标的摄像机标定算法,该标定算法使用了不包含方向信息和编码信息的平面靶标,标定过程中无法判断出无方向信息的平面靶标的旋转方向,并且张正友(Z.Y Zhang)提出的基于平面靶标的摄像机标定算法要求摄像机拍摄到完整的平面靶标,但实际标定过程中摄像机常常会拍摄不到完整的平面靶标,此时使用传统的没有包含方向信息和编码信息的平面靶标难以进行摄像机标定和保证摄像机标定精度。
发明内容
本发明提出的编码里靶标及基于编码立体靶标的单目摄像机标定方法是利用包含方向信息和编码信息的编码立体靶标进行摄像机标定,以保证摄像机标定时标定角点的亚像素坐标与其靶标坐标匹配的精度;同时实现没有拍摄到方向性图案的局部靶标图像仍可以用于摄像机标定,且只需拍摄一张满足标定条件的标定图像即可完成单目摄像机的标定工作,从而极大简化标定的复杂程度。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种编码立体靶标,用于单目摄像机的标定图像的采集,该编码立体靶标与一台单目摄像机在空间相对放置,其中单目摄像机位置固定,所述编码立体靶标由基准板和基准板上连接的多个编码平面靶标组成,基准板和编码平面靶标的空间位置和姿态均可单独调节。
进一步的,所述编码立体靶标的基准板被划分为S(S为整数且S>3)个区域,其中每个区域均放置有一个编码平面靶标。
进一步的,所有的编码平面靶标均具有编号,且每个编码平面靶标的编号互不相同。
进一步的,任意两个编码平面靶标的空间姿态具有明显差异。
进一步的,每个编码平面靶标上的均设置有多个平行四边形编码单元,每个平行四边形编码单元的编码号互不相同,且同一个编码平面靶标上的所有平行四边形编码单元的编码号具有连续性。
还提供了一种基于所述的编码立体靶标的单目摄像机标定方法,主要包括以下步骤:
S1:利用空间中放置的一台摄像机拍摄位于空间中的编码立体靶标从而获得一幅靶标图像;
S2:判断该靶标图像是否满足标定要求,若靶标图像不满足标定条件,则在调整摄像机和编码立体靶标的空间相对位置后重新进行拍摄和判断,若靶标图像满足标定条件则将其作为标定图像;
S3:根据标定图像,利用标定算法计算出摄像机的内外参数。
进一步的,步骤S3中,具体标定方法包括以下步骤:
步骤1.1、定义标定平面靶标总个数阈值G,标定角点个数阈值k,编码平面靶标个数阈值k′;
步骤1.2、建立靶标图像标定角点像素坐标系o-xy;
步骤2.1、定义整数变量τ并赋值τ=1,τ∈[1,G];
步骤2.2、利用位置固定的一台摄像机拍摄位于空间中的编码立体靶标,获得第τ次拍摄的靶标图像;
步骤3.1、定义整数变量ατ并赋值ατ=1;
具体的:情况1、当时,记ατ号编码平面靶标上第1行第1个平行四边形编码单元中的标定角点为原点标定角点此时选取原点标定角点作为第ατ个靶标坐标系的原点以ατ号编码平面靶标上的辅助向量的方向作为第τ次移动位置上的ατ号靶标坐标系轴的方向;
ατ号靶标坐标系的轴的方向确定以后,以ατ号编码平面靶标上的正向向量的方向作为第τ次移动位置上的ατ号靶标坐标系的轴的方向,ατ号靶标坐标系的轴、轴与轴满足右手准则,以此建立第τ次移动位置上的ατ号靶标坐标系
步骤3.4、判断ατ是否小于G,若ατ<G,则将ατ+1赋值给ατ后返回步骤3.2顺序执行;否则执行步骤4;
步骤4、将第τ次拍摄的靶标图像作为输入条件,利用编码立体靶标的解码方法,获得第τ次拍摄的靶标图像中编码平面靶标的个数第τ次拍摄的靶标图像中每个编码平面靶标的编号、第τ次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点个数和每个标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标、第τ次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点的唯一编码序号,以及第τ次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标和与之一一对应的在空间中编码立体靶标上具有相同唯一编码序号的标定角点在相应靶标坐标系下的靶标坐标之间的匹配关系;
步骤5.2、将步骤4中获得的个编码平面靶标的编号按照从小到大的顺序排列,并分别记为其中均为整数;并将第τ次拍摄的靶标图像中编号为和的编码平面靶标为别记为第τ次拍摄的靶标图像中的第1个编码平面靶标、第2个编码平面靶标、第3个编码平面靶标、…和第个编码平面靶标;
步骤6、定义整数变量βτ并赋值βτ=0;取整数变量ατ并赋值ατ=1;
若则将βτ+1赋值给βτ,将第ατ个编码平面靶标记为第βτ个标定平面靶标,将第ατ个编码平面靶标上提取到的标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标和与之一一对应的在空间中编码立体靶标上具有相同唯一编码序号的标定角点在号靶标坐标系下的靶标坐标之间的匹配关系记为第ατ个标定匹配组,而后执行步骤8;否则,直接执行步骤8;
步骤9、判断βτ是否小于G,若βτ<G,则执行步骤10;否则获得了βτ个满足标定条件的标定平面靶标和βτ个标定匹配组,执行步骤11;
步骤10、调整编码立体靶标,使得摄像机视场中包含更多的编码平面靶标和标定角点,而后将τ+1赋值给τ并返回步骤2.2顺序执行;
步骤11、根据所述步骤9中获得的βτ个标定匹配组,利用标定算法计算出摄像机的内外参数和畸变系数。
进一步的,步骤1.2中,建立靶标图像标定角点像素坐标系o-xy的具体方式为:以摄像机拍摄的靶标图像的左上角作为所述靶标图像标定角点像素坐标系的坐标原点o,自左向右为靶标图像标定角点像素坐标系的x轴方向,自上向下作为靶标图像标定角点像素坐标系的y轴方向,由此建立靶标图像标定角点像素坐标系o-xy。
另外,还提供一种计算机可读存储介质,包括与具有图像处理功能的电子设备结合使用的计算机程序,所述计算机程序可被处理器执行以所述的标定方法。
与现有技术相比较,本发明的有益效果如下:
(1)相较于传统的立体靶标,本发明中提出的编码立体靶标上具有编码图案,包含了编码立体靶标的方向信息和标定角点的编码信息,能够在标定时准确地给出标定角点的亚像素坐标、标定角点的唯一编码序号和标定角点靶标坐标三者的一一对应关系,保证并提高了标定结果的精度;
(2)与利用传统的立体靶标进行标定的方法相比,本发明提出的基于编码立体靶标的单目摄像机标定方法,在满足标定条件的前提下,即使拍摄的图像中只包含局部的编码立体靶标,依然能够完成标定工作,提高了单目摄像机标定的鲁棒性;
(3)与传统的摄像机标定方法相比,本发明提出的基于编码立体靶标的单目摄像机标定方法只需拍摄到一幅满足标定条件的靶标图像即可进行标定工作,极大简化了标定工作的复杂程度;
(4)本发明提出的基于编码立体靶标的单目摄像机标定方法可以实现智能化标定、实时标定和在线标定;
(5)本发明提出的标定方法,在获取图像中标定角点的编码信息时,能够去除复杂背景,并消除其对编码图案和标定角点的干扰,以保证获得的标定角点数据和编码信息的准确性和可靠性。
附图说明
图1为实施例中使用的摄像机以及相关设备的展示图;
图2为所使用的编码立体靶标的实物展示图;
图3为编码立体靶标上每个编码平面靶标的编号展示图;
图4为编码立体靶标上1号编码平面靶标的结构示意图;
图5为编码立体靶标上2号编码平面靶标的结构示意图;
图6为编码立体靶标上3号编码平面靶标的结构示意图;
图7为编码立体靶标上4号编码平面靶标的结构示意图;
图8为编码立体靶标上5号编码平面靶标的结构示意图;
图9为编码立体靶标上6号编码平面靶标的结构示意图;
图10为编码立体靶标上1号编码平面靶标中正向向量和规定向量的选取示意图;
图11为编码立体靶标上2号编码平面靶标中正向向量和规定向量的选取示意图;
图12为编码立体靶标上3号编码平面靶标中正向向量和规定向量的选取示意图;
图13为编码立体靶标上4号编码平面靶标中正向向量和规定向量的选取示意图;
图14为编码立体靶标上5号编码平面靶标中正向向量和规定向量的选取示意图;
图15为编码立体靶标上6号编码平面靶标中正向向量和规定向量的选取示意图;
图16为第1次拍摄所得的编码立体靶标图像;
图17为在第1个移动位置上的编码立体靶标中建立每个编码平面靶标的靶标坐标系的示意图;
图18为第2次拍摄所得的编码立体靶标图像;
图19为在第2个移动位置上的编码立体靶标中建立每个编码平面靶标的靶标坐标系的示意图;
图20为第3次拍摄所得的编码立体靶标图像;
图21为在第3个移动位置上的编码立体靶标中建立每个编码平面靶标的靶标坐标系的示意图;
图22为每个编码平面标靶上所有标定角点在靶标图像标定角点像素坐标系下的亚像素坐标;
图23为本实施例无复杂背景编码立体图像p1′;
图24为本实施例无复杂背景编码立体图像p2′;
图25为本实施例无复杂背景编码立体图像p3′;
图26为本实施例无复杂背景编码立体图像p4′;
图27为本实施例无复杂背景编码立体图像p5′;
图28为本实施例无复杂背景编码立体图像p6′;
图29为本实施例无复杂背景靶标二值化图像P2经过此处理得到的图像P′2;
图30为本实施例靶标二值化腐蚀图像P′2经过处理得到的解码二值化图像P3;
图31为本实施例得到的第1个无复杂背景的单元二值化图像E1;
图32为本发明基于编码立体靶标的单目摄像机标定方法的流程图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
请参阅图1和图2,一种编码立体靶标,用于单目摄像机的标定图像的采集,该编码立体靶标与一台单目摄像机在空间相对放置,其中单目摄像机位置固定,所述编码立体靶标由基准板和基准板上连接的多个编码平面靶标组成,基准板和编码平面靶标的空间位置和姿态均可单独调节。本实施例中使用的摄像机为MER-231-41U3C型号彩色工业相机,相机采集的最高帧率为40帧,像素尺寸为×5.86微米,图像分辨率1920×1200;相机镜头采用的型号是HN-1216-5M-C2/3X,镜头焦距12毫米。
编码立体靶标由基准板和基准板上连接的多个编码平面靶标组成。编码立体靶标的基准板被划分为S(S为整数且S>3)个区域,其中每个区域均放置有一个编码平面靶标。本实施例中,编码立体靶标的基准板被划分为6个区域,每个区域放置有一个编码平面靶标。编码立体靶标上的所有编码平面靶标均具有编号,且每个编码平面靶标的编号互不相同,如图3所示。
进一步的,任意两个编码平面靶标的空间姿态具有明显差异。实施例中采用的编码平面靶标由平行四边形编码单元和平行四边形非编码单元交替组成的编码棋盘格构成,编码平面靶标以任意对角相连的平行四边形编码单元的交点作为编码平面靶标的标定角点,编码平面靶标一共包含5行×5列个标定角点。编码平面靶标中每一个平行四边形编码单元的内部设置有编码图案,编码图案包括一个定位图案(白色实心圆)、一个定向图案(白色圆环)和编码标志图案,其中编码标志图案又由多个编码单元图案(多个白色小实心圆)组成;由定向图案和定位图案可实现编码平面靶标旋转方向的判断;编码标志图案则是用于给编码平面靶标中的每个标定角点进行编码,且编码单元图案的数量和分布均由其所在的平行四边形编码单元的编号决定。
本实施例中,每个编码平面靶标的所有平行四边形编码单元和平行四边形非编码单元均为长度为13.5mm且宽度为13.5mm的平行四边形,且平行四边形编码单元为矩形。
进一步的,每个编码平面靶标上的均设置有多个平行四边形编码单元,每个平行四边形编码单元的编码号互不相同,且同一个编码平面靶标上的所有平行四边形编码单元的编码号具有连续性。本实施例中,编码立体靶标上的1号编码平面靶标上所有平行四边形编码单元编号范围为80-97,2号编码平面靶标上所有平行四边形编码单元编号范围为98-115,3号编码平面靶标上所有平行四边形编码单元编号范围为20-37,4号编码平面靶标上所有平行四边形编码单元编号范围为57-74,5号编码平面靶标上所有平行四边形编码单元编号范围为0-17,6号编码平面靶标上所有平行四边形编码单元编号范围为39-56;其中1号编码平面靶标、2号编码平面靶标、3号编码平面靶标、4号编码平面靶标、5号编码平面靶标、6号编码平面靶标的结构示意图如图4至图9所示。
以1号编码平面靶标为例,任取1号编码平面靶标中的一个平行四边形编码单元记为1号编码平面靶标向量确定编码单元任取1号编码平面靶标向量确定编码单元的一个顶点记为向量确定编码单元第一顶点在1号编码平面靶标向量确定编码单元中将相交形成向量确定编码单元第一顶点的任意一条边记为向量确定编码单元第一边在向量确定编码单元第一边上取向量确定编码单元的顶点记为向量确定编码单元第一边上第一点其中向量确定编码单元第一边上第一点与向量确定编码单元第一顶点是互不重合的2个点,记向量为1号编码平面靶标的规定向量并且编码平面靶标内的每一个平行四边形编码单元中的定位图案和定向图案的位置关系如下:在同一平行四边形编码单元内由定向图案质心指向定位图案质心的方向与1号编码平面靶标的规定向量的方向相同;1号编码平面靶标的规定向量的选取如图10所示。
将1号编码平面靶标所在的平面记为1号靶标平面Pt (1),以向量确定编码单元第一顶点为起点做一个与1号编码平面靶标的规定向量同向的单位向量记为1号编码平面靶标的第1个规定单位向量当人正视看向编码平面靶标时,以向量确定编码单元第一顶点为旋转中心,在1号靶标平面Pt (1)内将1号编码平面靶标的第1个规定单位向量逆时针旋转β′角度(0°<β′<90°)得到1号编码平面靶标的第2个规定单位向量在空间中以向量确定编码单元第一顶点为起点做一个与所得向量的方向相同的单位向量,并记为1号编码平面靶标的正向向量将1号编码平面靶标向量确定编码单元上距离1号编码平面靶标向量确定编码单元中的定向图案最近的两个顶点分别记为第1临时顶点和第2临时顶点若向量叉乘1号编码平面靶标的规定向量所得向量的方向与1号编码平面靶标的规定向量正向向量的方向相同,则将向量记为1号编码平面靶标的辅助向量若向量叉乘1号编码平面靶标的规定向量所得向量的方向与1号编码平面靶标的正向向量的方向不相同,则将向量记为1号编码平面靶标的辅助向量1号编码平面靶标的辅助向量和1号编码平面靶标的正向向量选取如图10所示。
其余编码平面靶标上辅助向量和正向向量的选取可参考1号编码平面靶标,其结果如图11至图15所示。
参阅图32,一种基于编码立体靶标的单目摄像机快速标定方法,主要包括以下步骤:
S1:利用空间中放置的一台摄像机拍摄位于空间中的编码立体靶标从而获得一幅靶标图像;
S2:判断该靶标图像是否满足标定要求,若靶标图像不满足标定条件,则在调整摄像机和编码立体靶标的空间相对位置后重新进行拍摄和判断,若靶标图像满足标定条件则将其作为标定图像;
S3:根据标定图像,利用标定算法计算出摄像机的内外参数。
具体标定方法包括以下步骤:
步骤1.1、定义标定平面靶标总个数阈值G==5,标定角点个数阈值k==16,编码平面靶标个数阈值k′==5;
步骤1.2、建立靶标图像标定角点像素坐标系:
始终以摄像机拍摄的靶标图像的左上角作为所述靶标图像标定角点像素坐标系的坐标原点o,自左向右为靶标图像标定角点像素坐标系的x轴方向,自上向下作为靶标图像标定角点像素坐标系的y轴方向,由此建立靶标图像标定角点像素坐标系o-xy;
步骤2.1、定义整数变量τ并赋值τ=1;
第1次拍摄:
步骤2.2、利用位置固定的一台摄像机拍摄位于空间中的编码立体靶标,获得第1次拍摄的靶标图像,如图16所示;
步骤3.1、定义整数变量α1并赋值α1=1;
步骤3.3、在本实施例中,第1次移动位置上每个靶标坐标系的建立如图17所示。
步骤4、将第1次拍摄的靶标图像作为输入条件,利用编码立体靶标的解码方法,获得第1次拍摄的靶标图像中编码平面靶标的个数(其中为整数且)、第1次拍摄的靶标图像中每个编码平面靶标的编号、第1次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点个数和每个标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标、第1次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点的唯一编码序号,以及第1次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标和与之一一对应的在空间中编码立体靶标上具有相同唯一编码序号的标定角点在相应靶标坐标系下的靶标坐标之间的匹配关系。
步骤10、调整编码立体靶标,使得摄像机视场中包含更多的编码平面靶标和标定角点,而后将τ+1赋值给τ并返回步骤2.2顺序执行。
第2次拍摄:
步骤2.2、利用位置固定的摄像机拍摄位于空间中的编码立体靶标,获得第2次拍摄的靶标图像,如图18所示;
步骤3.1至步骤3.5建立每个编码平面靶标的靶标坐标系的过程可参考第1次拍摄时的建立过程,其坐标系建立结果如图19所示;
步骤4、将第2次拍摄的靶标图像作为输入条件,利用编码立体靶标的解码方法,获得第2次拍摄的靶标图像中编码平面靶标的个数(其中为整数且)、第2次拍摄的靶标图像中每个编码平面靶标的编号、第2次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点个数和每个标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标、第2次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点的唯一编码序号,以及第2次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标和与之一一对应的在空间中编码立体靶标上具有相同唯一编码序号的标定角点在相应靶标坐标系下的靶标坐标之间的匹配关系;
步骤5.2、将步骤4中获得的6个编码平面靶标的编号按照从小到大的顺序排列,并分别记为并将第2次拍摄的靶标图像中编号为和的编码平面靶标为别记为第2次拍摄的靶标图像中的第1个编码平面靶标、第2个编码平面靶标、第3个编码平面靶标、…和第6个编码平面靶标;
步骤6、定义整数变量i2、β2并赋值i2=1,β2=0;
若则将β2+1赋值给β2,将第i2个编码平面靶标记为第β2个标定平面靶标,将第i2个编码平面靶标上提取到的标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标和与之一一对应的在空间中编码立体靶标上具有相同唯一编码序号的标定角点在号靶标坐标系下的靶标坐标之间的匹配关系记为第i2个标定匹配组;而后执行步骤8;否则,直接执行步骤8;
步骤8、判断i2是否小于6,若i2<6,则将i2+1赋值给i2后返回执行步骤7;否则执行步骤9;在本实施例中,经过步骤6-步骤8,可得到β2==4;
步骤9、判断β2是否小于5,若β2<5,则执行步骤10;否则获得了β2个满足标定条件的标定平面靶标和β2个标定匹配组,而后执行步骤11;
由上可知,β2<5,则执行步骤10;
步骤10、调整编码立体靶标,使得摄像机视场中包含更多的编码平面靶标和标定角点,而后将τ+1赋值给τ并返回步骤2.2顺序执行。
第3次拍摄:
步骤2.2、利用位置固定的摄像机拍摄位于空间中的编码立体靶标,获得第3次拍摄的靶标图像,如图20所示;
步骤3.1-步骤3.5建立每个编码平面靶标的靶标坐标系的过程可参考第1次拍摄时的建立过程,如图21所示;
步骤4、将第3次拍摄的靶标图像作为输入条件,利用编码立体靶标的解码方法,获得第3次拍摄的靶标图像中编码平面靶标的个数第3次拍摄的靶标图像中每个编码平面靶标的编号、第3次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点个数和每个标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标、第3次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点的唯一编码序号,以及第3次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标和与之一一对应的在空间中编码立体靶标上具有相同唯一编码序号的标定角点在相应靶标坐标系下的靶标坐标之间的匹配关系;
步骤5.2、将步骤4中获得的6个编码平面靶标的编号按照从小到大的顺序排列,并分别记为并将第3次拍摄的靶标图像中编号为和的编码平面靶标为别记为第3次拍摄的靶标图像中的第1个编码平面靶标、第2个编码平面靶标、第3个编码平面靶标、…和第6个编码平面靶标;
步骤6、定义整数变量i3、β3并赋值i3=1,β3=0;
若则将β3+1赋值给β3,将第i3个编码平面靶标记为第β3个标定平面靶标,将第i3个编码平面靶标上提取到的标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标和与之一一对应的在空间中编码立体靶标上具有相同唯一编码序号的标定角点在号靶标坐标系下的靶标坐标之间的匹配关系记为第i3个标定匹配组;而后执行步骤8;否则,直接执行步骤8;
步骤8、判断i3是否小于6,若i3<6,则将i3+1赋值给i3后返回执行步骤7;否则执行步骤9;本实施例中,经过步骤6-步骤8,可得到β3==6;
步骤9、判断β3是否小于5,若β3<5,则执行步骤10;否则获得了β3个满足标定条件的标定平面靶标和β3个标定匹配组,而后执行步骤11;
在本实施例中,β3==6,β3>5,则获得了6个满足标定条件的标定平面靶标和6个标定匹配组,其中第1个标定匹配组如下表1.1所示:
表1.1
第2个标定匹配组如下表1.2所示:
表1.2
第3个标定匹配组如下表1.3所示:
表1.3
序号 | 标定角点亚像素坐标 | 标定角点唯一编码序号 | 标定角点靶标坐标 |
1 | (1288.92,824.6) | 32_6 | (0,54,0) |
2 | (1291.46,885.744) | 29_1 | (0,40.5,0) |
3 | (1293.86,946.104) | 26_6 | (0,27,0) |
4 | (1296.02,1006.02) | 23_1 | (0,13.5,0) |
5 | (1298.1,1065.76) | 20_6 | (0,0,0) |
6 | (1348.73,824.929) | 32_1 | (13.5,54,0) |
7 | (1351,886.452) | 30_6 | (13.5,40.5,0) |
8 | (1353.18,947.637) | 26_1 | (13.5,27,0) |
9 | (1355.25,1008.15) | 24_6 | (13.5,13.5,0) |
10 | (1357.06,1068.37) | 20_1 | (13.5,0,0) |
11 | (1409.97,825.075) | 33_6 | (27,54,0) |
12 | (1412.05,887.522) | 30_1 | (27,40.5,0) |
13 | (1414.09,949.028) | 27_6 | (27,27,0) |
14 | (1415.91,1010.28) | 24_1 | (27,13.5,0) |
15 | (1417.34,1071.18) | 21_6 | (27,0,0) |
16 | (1471.75,825.312) | 33_1 | (40.5,54,0) |
17 | (1473.6,888.175) | 31_6 | (40.5,40.5,0) |
18 | (1475.48,950.389) | 27_1 | (40.5,27,0) |
19 | (1477.05,1012.21) | 25_6 | (40.5,13.5,0) |
20 | (1478.26,1073.91) | 21_1 | (40.5,0,0) |
21 | (1534.34,825.381) | 34_6 | (54,54,0) |
22 | (1536.2,888.94) | 31_1 | (54,40.5,0) |
23 | (1538.15,952.083) | 28_6 | (54,27,0) |
24 | (1539.71,1014.24) | 25_1 | (54,13.5,0) |
25 | (1540.58,1076.41) | 22_6 | (54,0,0) |
第4个标定匹配组如下表1.4所示:
表1.4
序号 | 标定角点亚像素坐标 | 标定角点唯一编码序号 | 标定角点靶标坐标 |
1 | (441.018,111.57) | 71_6 | (54,54,0) |
2 | (377.533,113.12) | 70_1 | (40.5,54,0) |
3 | (314.425,114.952) | 70_6 | (27,54,0) |
4 | (251.025,116.856) | 69_1 | (13.5,54,0) |
5 | (188.539,118.828) | 69_6 | (0,54,0) |
6 | (442.674,176.429) | 68_1 | (54,40.5,0) |
7 | (379.096,177.963) | 68_6 | (40.5,40.5,0) |
8 | (316.044,179.577) | 67_1 | (27,40.5,0) |
9 | (252.975,181.29) | 67_6 | (13.5,40.5,0) |
10 | (190.625,183.05) | 66_1 | (0,40.5,0) |
11 | (444.099,240.704) | 65_6 | (54,27,0) |
12 | (380.873,242.159) | 64_1 | (40.5,27,0) |
13 | (317.886,243.731) | 64_6 | (27,27,0) |
14 | (254.998,245.306) | 63_1 | (13.5,27,0) |
15 | (192.759,247.032) | 63_6 | (0,27,0) |
16 | (445.659,304.785) | 62_1 | (54,13.5,0) |
17 | (382.784,306.324) | 62_6 | (40.5,13.5,0) |
18 | (319.905,307.759) | 61_1 | (27,13.5,0) |
19 | (257.082,309.283) | 61_6 | (13.5,13.5,0) |
20 | (194.976,310.884) | 60_1 | (0,13.5,0) |
21 | (447.233,368.884) | 59_6 | (54,0,0) |
22 | (384.663,370.246) | 58_1 | (40.5,0,0) |
23 | (321.97,371.538) | 58_6 | (27,0,0) |
24 | (259.441,372.908) | 57_1 | (13.5,0,0) |
25 | (197.48,374.591) | 57_6 | (0,0,0) |
第5个标定匹配组如下表1.5所示:
表1.5
第6个标定匹配组如下表1.6所示:
表1.6
步骤11、根据所述步骤9中获得的6个标定匹配组,利用张正友标定算法(AFlexible New Technique for Camera Calibration)计算出摄像机的内外参数和畸变系数,标定结果如下:
编码立体靶标图像总体平均标定误差:0.0338604像素。
摄像机内参数矩阵:
摄像机畸变系数:
(-0.232714 0.196554 -7.719×10-5 -0.00221);
编码立体靶标图像上1号编码平面靶标的旋转矩阵:
编码立体靶标图像上1号编码平面靶标的平移向量:
(-156.689 90.0871 439.808)T;
编码立体靶标图像上2号编码平面靶标的旋转矩阵:
编码立体靶标图像上2号编码平面靶标的平移向量:
(-47.4902 95.287 464.166)T;
编码立体靶标图像上3号编码平面靶标的旋转向量:
编码立体靶标图像上3号编码平面靶标的平移向量:
(74.9578 102.942 463.052)T;
编码立体靶标图像上4号编码平面靶标的旋转矩阵:
编码立体靶标图像上4号编码平面靶标的平移向量:
(-162.096 -47.8374 440.853)T;
编码立体靶标图像上5号编码平面靶标的旋转矩阵:
编码立体靶标图像上5号编码平面靶标的平移向量:
(-34.5229 -46.6275 465.354)T;
编码立体靶标图像上6号编码平面靶标的旋转矩阵:
编码立体靶标图像上6号编码平面靶标的平移向量:
(75.6522 -43.397 425.103)T;
由此,利用编码立体靶标完成了单目摄像机的标定工作。
本实施例中,所述的编码立体靶标的解码方法的步骤如下(由于利用编码立体靶标解码方法对每次拍摄的靶标图像进行解码并获得标定角点编码信息的过程类似,故本次实施例中以第3次拍摄的靶标图像为例进行详细说明):
步骤1、利用Automatic Camera and Range Sensor Calibration using asingle Shot提出的棋盘格检测算法,在第3次拍摄的靶标图像中识别出个完整或局部的编码平面靶标,并分别标记为编码平面靶标g1、g2、g3、g4、g5、g6,并获得了每个编码平面靶标上所有标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标,如图22所示,编码平面靶标g1、g2、g3、g4、g5、g6上的标定角点的亚像素坐标分别如表2.1至表2.6所示:
表2.1
(441.018,111.57) | (442.674,176.429) | (444.099,240.704) | (445.659,304.785) | (447.233,368.884) |
(377.533,113.12) | (379.096,177.963) | (380.873,242.159) | (382.784,306.324) | (384.663,370.246) |
(314.425,114.952) | (316.044,179.577) | (317.886,243.731) | (319.905,307.759) | (321.97,371.538) |
(251.025,116.856) | (252.975,181.29) | (254.998,245.306) | (257.082,309.283) | (259.441,372.908) |
(188.539,118.828) | (190.625,183.05) | (192.759,247.032) | (194.976,310.884) | (197.48,374.591) |
表2.2
(264.728,781.126) | (325.337,790.84) | (385.863,800.215) | (445.756,809.461) | (505.266,818.66) |
(254.735,839.98) | (315.899,849.425) | (377.005,858.855) | (437.652,867.832) | (497.472,876.826) |
(244.416,899.822) | (306.378,908.929) | (368.087,918.002) | (429.222,926.941) | (489.854,935.513) |
(234.321,960.634) | (296.674,969.525) | (359.198,978.358) | (420.881,986.838) | (482.111,995.256) |
(224.225,1022.38) | (287.347,1031.09) | (350.221,1039.72) | (412.799,1047.93) | (474.328,1056.04) |
表2.3
(976.673,779.02) | (976.045,840.675) | (975.01,903.327) | (974.44,966.484) | (973.608,1030.17) |
(918.781,782.414) | (917.743,843.626) | (916.558,905.506) | (915.462,968.096) | (914.376,1031.15) |
(862.02,785.851) | (860.515,846.168) | (858.917,907.304) | (857.584,969.434) | (856.2,1031.83) |
(806.383,788.648) | (804.554,848.463) | (802.728,909.15) | (800.932,970.367) | (799.06,1032.12) |
(752.014,792.034) | (749.827,850.835) | (747.873,910.768) | (745.78,971.507) | (743.87,1032.21) |
表2.4
(808.781,148.931) | (873.543,153.238) | (938.027,157.749) | (1002.74,162.398) | (1067.44,167.215) |
(806.872,210.461) | (870.828,214.848) | (934.609,219.271) | (998.423,223.927) | (1062.34,228.73) |
(805.027,270.345) | (868.262,274.754) | (931.217,279.145) | (994.224,283.819) | (1057.41,288.741) |
(803.26,329.229) | (865.643,333.556) | (927.946,338.083) | (990.201,342.772) | (1052.52,347.522) |
(801.844,386.368) | (863.434,390.774) | (924.774,395.13) | (986.314,399.786) | (1047.82,404.63) |
表2.5
(1322.22,158.441) | (1384.79,160.81) | (1447.13,163.506) | (1508.62,166.495) | (1569.86,169.088) |
(1325.44,212.577) | (1388.68,214.911) | (1451.9,217.548) | (1514.08,220.386) | (1576.08,223) |
(1328.35,267.896) | (1392.53,270.493) | (1456.39,272.873) | (1519.65,275.448) | (1582.22,278.257) |
(1331.67,324.942) | (1396.43,327.121) | (1461.23,329.764) | (1524.83,332.261) | (1588.31,334.814) |
(1334.61,384.077) | (1400.4,386.349) | (1465.92,388.672) | (1530.3,390.853) | (1594.41,393.083) |
表2.6
步骤2.1、取整数变量i,并赋予初始值i=1;
步骤2.2、将第3次拍摄的靶标图像复制到编码立体靶标图像p3中;
步骤3、在编码立体靶标图像p3中,选取其中的编码平面靶标gi,利用数字图像处理的方法,将编码平面靶标gi内部的所有像素点的灰度值保持不变,编码平面靶标gi以外的所有像素点的灰度值均赋值为255,并将处理后的图像记为无复杂背景编码立体靶标图像pi′;
具体实施例中,无复杂背景编码立体靶标图像p1′如图23所示,无复杂背景编码立体靶标图像p2′如图24所示,无复杂背景编码立体靶标图像p3′如图所示25,无复杂背景编码立体靶标图像p4′如图26所示,无复杂背景编码立体靶标图像p5′如图27所示,无复杂背景编码立体靶标图像p6′如图28所示;
步骤4、在无复杂背景编码立体靶标图像pi′中,利用编码平面靶标的解码方法,将编码平面靶标gi内的所有标定角点的编码号与所有标定角点的亚像素坐标一一匹配,即找到了编码平面靶标gi内的所有标定角点的编码号及所有标定角点的亚像素坐标之间一一对应的关系,并将编码平面靶标gi及其内部的所有标定角点与编码立体靶标内相应的编码平面靶标及标定角点一一匹配,即找到编码平面靶标gi及其内部的所有标定角点的像素坐标与靶标坐标之间一一对应的关系,同时也找到了编码平面靶标gi内每个标定角点所在的编码平面靶标编号,每个标定角点对应的唯一编码序号、唯一像素坐标系下的像素坐标值和唯一靶标坐标系下的靶标坐标值,并跳转到步骤5;
情况1:当i≠6时,令i=i+1,并跳转到步骤4.2;
情况2:当i==6时,结束此循环,由此结束整个编码立体靶标的解码过程。
由以上步骤,可得到第3次拍摄的靶标图像中,所有识别出的编码平面靶标与所拍摄的空间中的编码立体靶标内的编码平面靶标之间一一对应的关系,以及所有识别出的编码平面靶标内的所有标定角点的像素坐标与靶标坐标之间一一对应的关系,同时也找到了所有识别出的编码平面靶标内每个标定角点所在的编码平面靶标编号,每个标定角点对应的唯一编码序号、唯一像素坐标系下的像素坐标值和唯一靶标坐标系下的靶标坐标值。
本实施例中,第3次拍摄的靶标图像中的每个编码平面靶标的标定角点对应的唯一编码序号、唯一像素坐标系下的像素坐标值和唯一靶标坐标系下的靶标坐标值如表1.1至表1.6所示。
本实施例中,利用编码立体靶标的解码方法处理第3次拍摄的靶标图像时,所使用的编码平面靶标的解码方法的步骤如下(由于利用编码平面靶标的解码方法处理第3次拍摄的靶标图像中的每个编码平面靶标的过程类似,故本实施例中以无复杂背景编码立体靶标图像p5′为例进行详细说明):
步骤1、将无复杂背景编码立体靶标图像p5′以及无复杂背景编码立体靶标图像p5′上提取到的所有标定角点作为编码立体靶标解码方法的输入条件;
步骤2、对无复杂背景编码立体靶标图像p5′进行二值化处理,并将无复杂背景编码立体靶标图像p5′经过二值化处理得到的图像记为无复杂背景靶标二值化图像P2,使得在无复杂背景靶标二值化图像P2中平行四边形编码单元的背景颜色变为黑色,平行四边形非编码单元背景颜色、定位图案、定向图案的颜色均变为白色,编码标志图案的颜色根据编码规则可以为白色也可以为黑色;
步骤3、根据在无复杂背景编码立体靶标图像p5′内提取到的m行×n列个标定角点数目(其中m和n均为整数),可将本步骤分为如下情况:
情况1、当m、n均为奇数,或者m、n一奇一偶时可由公式(1)计算出多边形L内部包含的平行四边形编码单元个数μ(μ为整数);
μ=(m-1)(n-1)/2 (1)
然后执行步骤4.1.1;
情况2、若m、n均为偶数时,可由公式(2)计算出多边形L内包含的平行四边形编码单元预估个数μ′(μ′为整数);
μ′=[(m-1)(n-1)+1]/2 (2)
此时多边形L内实际包含的平行四边形编码单元的个数μ满足μ≤μ′;
设置平行四边形编码单元个数判断阀值L′;在无复杂背景靶标二值化图像P2上做黑色连通域腐蚀,使得无复杂背景靶标二值化图像P2中所有平行四边形编码单元对角处断开,并将无复杂背景靶标二值化图像P2经过此处理得到的图像记为靶标二值化腐蚀图像P′2;其中对无复杂背景靶标二值化图像P2进行黑色连通域腐蚀处理时,须满足以下条件:
(1)最大标定角点数多边形L内的每一个平行四边形编码单元均满足,平行四边形编码单元内的定向圆的白色连通域、定位圆环的白色连通域、定位圆环中心的黑色连通域和编码标志图案的白色连通域均保持完整;
(2)最标定大角点数多边形L内的每一个平行四边形编码单元均满足,平行四边形编码单元内的定向图案、定位图案和编码标志图案的连通域互不相通;
(3)最大标定角点数多边形L内的每一个平行四边形编码单元均满足,平行四边形编码单元内的定向图案、定位图案和编码标志图案均处于平行四边形编码单元背景中;
在靶标二值化腐蚀图像P′2上寻找μ′个最大的黑色连通域,并计算前μ′-1个最大黑色连通域包含像素点的平均值χ′;
将多边形L内μ′个最大黑色连通域中最小的黑色连通域记为末端黑色连通域,并计算末端黑色连通域包含的像素点数χm,根据下述进行判断;
(1)若L″≤L′,则多边形L内实际包含μ′个平行四边形编码单元,将μ′的数值赋值给μ,μ=μ′;并执行步骤7.1.2;
(2)若L″>L′,则多边形L内实际包含μ′-1个平行四边形编码单元,将μ′-1的数值赋值给μ,μ=μ′-1;并执行步骤4.1.2;
在具体实施例中,无复杂背景编码立体靶标图像p5′内提取到5行×5列个标定角点(即m==5,n==5),属于步骤3中的情况1,则:μ=(m-1)(n-1)/2=8;
步骤4.1.1、在无复杂背景靶标二值化图像P2上,做黑色连通域腐蚀,使得无复杂背景靶标二值化图像P2中所有平行四边形编码单元对角处断开,并将无复杂背景靶标二值化图像P2经过此处理得到的图像记为靶标二值化腐蚀图像P′2(其中无复杂背景靶标二值化图像P2进行黑色连通域腐蚀处理时,要保证编码平面靶标g5内所有的编码图案不被破坏),如图29所示;
步骤4.1.2、寻找在靶标二值化腐蚀图像P′2中的8个最大黑色连通域并分别记为方格连通域Ω1、方格连通域Ω2、…、方格连通域Ω8;取整数变量i,并赋予其初始值i=1;
步骤4.2、在靶标二值化腐蚀图像P′2上,计算上述步骤7.1.2中方格连通域Ωi质心的像素坐标(xi,yi)i,将i+1重新赋值给i后继续执行此步骤直到i>8,由此得到靶标二值化腐蚀图像P′2上的方格连通域Ω1、方格连通域Ω2、…、方格连通域Ω8的质心像素坐标(900,246)1、…、(838,180)8并将(900,246)1、…、(838,180)8依次作为平行四边形编码单元质心像素坐标集合A中的第1个元素、第2个元素、…、第8个元素;
步骤5.1、给整数变量i重新赋予初值i=1;
步骤5.2、在靶标二值化腐蚀图像P′2中,计算距离方格连通域Ωi的质心像素坐标(xi,yi)i最近的黑色连通域,并分别记为靶标二值化腐蚀图像P′2中的圆环中心连通域Ω′i;将i+1重新赋值给i后继续执行此步骤,直到i>8时结束;最后将分别得到靶标二值化腐蚀图像P′2中的圆环中心连通域Ω′1、圆环中心连通域Ω′2、…、圆环中心连通域Ω′8;
步骤5.3、给整数变量i重新赋予初值i=1;
步骤5.4、在靶标二值化腐蚀图像P′2中,计算上述靶标二值化腐蚀图像P′2中的圆环中心连通域Ω′i的质心像素坐标o″d,i(x″d,i,y″d,i),将i+1重新赋值给i后继续执行此步骤,直到i>8时结束;由此分别得到靶标二值化腐蚀图像P′2中的圆环中心连通域Ω′1、圆环中心连通域Ω′2、…、圆环中心连通域Ω′8的质心像素坐标o″d1(900,256)、…、o″d8(838,190)依次作为圆环质心像素坐标集合B中的第1个元素、第2个元素、…、第8个元素;
步骤6.1、在靶标二值化腐蚀图像P′2中,将除方格连通域Ω1、方格连通域Ω2、…、方格连通域Ω8以及圆环中心连通域Ω′1、圆环中心连通域Ω′2、…、圆环中心连通域Ω′8以外的黑色连通域的灰度值均赋值为255,并将靶标二值化腐蚀图像P′2经过此处理得到的图像记为解码二值化图像P3,如图30所示;
步骤6.2、取整数变量ζ,并赋予初始值ζ=1;
步骤7.1、对解码二值化图像P3进行复制备份,将复制得到的图像记为第1个备份二值化图像P1,4;
步骤7.2、在第1个备份二值化图像P1,4上,取平行四边形编码单元质心像素坐标集合A中第1个质心坐标值(900,246)1,在标定角点集合Q中寻找距离质心坐标值(900,246)1最近的4个标定角点的像素坐标值,并在第1个备份二值化图像P1,4上将这4个标定角点的像素坐标值对应的4个像素点分别记为C″1,1(868.3,274.8)、C″1,2(870.8,214.8)、C″1,3(934.6,219.3)、C″1,4(931.2,279.1);并将该4个像素点作为第1个标定角点四边形S1的4个顶点,并将4个顶点相连形成第1个标定角点四边形S1;
步骤8.1、在步骤5.4中的圆环质心像素坐标B中,找出与平行四边形编码单元质心像素坐标集合A中的第1个质心像素坐标值(900,246)1相对应的第1个圆环质心像素坐标(900,256);
步骤8.2、在第1个备份二值化图像P1,4中,寻找距离上述圆环质心坐标值(900,256)最近的白色连通域,并将此白色连通域的灰度值赋值为0;
步骤9、在第1个备份二值化图像P1,4上,将第1个标定角点四边形S1以外的所有像素点的灰度值均赋值为255,第1个标定角点四边形S1内部的所有像素点的灰度值保持不变,并将所得到的图像记为第1个无复杂背景的单元二值化图像E1,如图31所示;
步骤10、在第1个无复杂背景的单元二值化图像E1中,寻找最大黑色连通域并记为第1个无复杂背景的单元二值化图像E1中的最大黑色连通域Ω1,E;提取第1个无复杂背景的单元二值化图像E1中的最大黑色连通域Ω1,E的所有内、外轮廓,并记为质心像素坐标值为(900,246)1的平行四边形编码单元的轮廓集合D1;
步骤11、在质心像素坐标值为(900,246)1的平行四边形编码单元的轮廓集合D1中,统计每个轮廓中包含的像素点数,其中包含像素点数第二多的轮廓即为第1个无复杂背景的单元二值化图像E1中质心像素坐标值为(900,246)1的平行四边形编码单元中定位圆的轮廓G1,计算此定位圆轮廓G1的质心像素坐标并记为第1个无复杂背景的单元二值化图像E1上质心像素坐标值为(900,246)1的平行四边形编码单元中的定位圆质心像素坐标o′l,1(900,236);
步骤12.1、在上述步骤10中质心像素坐标值为(900,246)1的平行四边形编码单元的轮廓集合D1中,除去包含像素点数最多的2个轮廓,剩余其他κ1(其中κ1=0,1,2,3...)个轮廓,并分为以下情况:
情况1、若κ1==0,则进行步骤13.1;
情况2、若κ1≠0,则这κ1个轮廓即为在第1个无复杂背景的单元二值化图像E1上的质心像素坐标值为(900,246)1的平行四边形编码单元中编码标志圆的轮廓,并分别记为编码标志圆轮廓编码标志圆轮廓…、编码标志圆轮廓
步骤12.2、给整数变量i重新赋予初值i=1;
步骤13.1、在第1个无复杂背景的单元二值化图像E1上,将像素坐标值为(900,256)的像素点记为质心坐标值为(900,246)1的平行四边形编码单元上的定向圆环质心并且在第1个无复杂背景的单元二值化图像E1上,将像素坐标值分别为(868.3,274.8)、(870.8,214.8)、(934.6,219.3)、(931.2,279.1)的4个像素点记为C″1,1(868.3,274.8)、C″1,2(870.8,214.8)、C″1,3(934.6,219.3)、C″1,4(931.2,279.1);
步骤13.2、在第1个无复杂背景的单元二值化图像E1上,取C1,1(x1,1,y1,1)、C1,2(x1,2,y1,2)、C1,3(x1,3,y1,3)、C1,4(x1,4,y1,4)分别表示质心像素坐标值为(900,246)1的平行四边形编码单元中第1编码区域、第3编码区域、第4编码区域和第6编码区域的标定角点的像素坐标;质心像素坐标值为(900,246)1的平行四边形编码单元中的方向向量可由公式(3)得出,记通过定位圆质心o′l,1和定向圆环质心o′d,1的直线为l1,3;
步骤14、在第1个无复杂背景的单元二值化图像E1上,将4个像素点C″1,1(868.3,274.8)、C″1,2(870.8,214.8)、C″1,3(934.6,219.3)、C″1,4(931.2,279.1)中距离定位圆质心像素坐标o′d,1(900,256)最近的2个像素点分别记为C1,1min(x1,1min,y1,1min)和C1,2min(x1,2min,y1,2min);在本实施例中,C1,1min(x1,1min,y1,1min)即为C′1,1(934.6,219.3),C1,2min(x1,2min,y1,2min)即为C′1,4(870.8,214.8),可通过公式(4)和(5)计算出在质心像素坐标值为(900,246)1的平行四边形编码单元中的第1判断向量和第2判断向量并通过式(6)和式(7)计算出区域划分正弦值1 sinα1和区域划分正弦值2 sinβ1;
并进行判断:
情况1、若sinα1<0,sinβ1>0,则C1,1min(x1,1min,y1,1min)是质心像素坐标值为(900,246)1的平行四边形编码单元中第1编码区域的标定角点,把C1,1min(x1,1min,y1,1min)的像素坐标值赋值给C1,1(x1,1,y1,1);C1,2min(x1,2min,y1,2min)为质心像素坐标值为(900,246)1的平行四边形编码单元中第6编码区域的标定角点,把C1,2min(x1,2min,y1,2min)的像素坐标值赋值给C1,4(x1,4,y1,4);
情况2、若sinα1>0,sinβ1<0,则C1,2min(x1,2min,y1,2min)为质心像素坐标值为(900,246)1的平行四边形编码单元中第1编码区域的标定角点,把C1,2min(x1,2min,y1,2min)的像素坐标值赋值给C1,1(x1,1,y1,1);C1,1min(x1,1min,y1,1min)为质心像素坐标值为(900,246)1的平行四边形编码单元中第6编码区域的标定角点,把C1,1min(x1,1min,y1,1min)的像素坐标值赋值给C1,4(x1,4,y1,4);
在本实施例中,sinα1<0,sinβ1>0,则C1,1min(934.6,219.3)为质心像素坐标值为(900,246)1的平行四边形编码单元中第1编码区域的标定角点,把C1,1min(934.6,219.3)的像素坐标值赋值给C1,1(x1,1,y1,1);C1,2min(870.8,214.8)为质心像素坐标值为(900,246)1的平行四边形编码单元中第6编码区域的标定角点,把C1,2min(870.8,214.8)的像素坐标值赋值给C1,4(x1,4,y1,4);
步骤15、在第1个无复杂背景的单元二值化图像E1上,通过上述步骤14已找到质心像素坐标值为(900,246)1的平行四边形编码单元中第1编码区域和第6编码区域的标定角点C1,1(934.6,219.3)和C1,4(870.8,214.8);将4个像素点C″1,1(868.3,274.8)、C″1,2(870.8,214.8)、C″1,3(934.6,219.3)、C″1,4(931.2,279.1)中余下的2个像素点(本实施例中即为C′1,2(868.3,274.8)和C′1,3(931.2,279.1))的像素坐标分别赋值给质心像素坐标值为(900,246)1的平行四边形编码单元的第1临时坐标值记为C′1,5(931.2,279.1),以及第2临时坐标值记为C′1,6(868.3,274.8);根据公式(8)和(9)可以求出在质心像素坐标值为(900,246)1的平行四边形编码单元中的第3判断向量和第4判断向量
并进行判断:
情况1、若sinω1==0,sinξ1≠0,则C′1,5(x′1,5,y′1,5)即为质心像素坐标值为(900,246)1的平行四边形编码单元中第3编码区域的标定角点,把C′1,5(x′1,5,y′1,5)的坐标值赋值给C1,2(x1,2,y1,2);C′1,6(x′1,6,y′1,6)为质心像素坐标值为(900,246)1的平行四边形编码单元中第4编码区域的标定角点,把C′1,6(x′1,6,y′1,6)的坐标值赋值给C1,3(x1,3,y1,3);
情况2、若sinω1≠0,sinξ1==0,则C′1,6(x′1,6,y′1,6)即为质心像素坐标值为(900,246)1的平行四边形编码单元中第3编码区域的标定角点,把C′1,6(x′1,6,y′1,6)的坐标值赋值给C1,2(x1,2,y1,2);C′1,5(x′1,5,y′1,5)为质心像素坐标值为(900,246)1的平行四边形编码单元中第4编码区域的标定角点的,把C′1,5(x′1,5,y′1,5)的坐标值赋值给C1,3(x1,3,y1,3);
本实施例中sinω1=0.06低于平行阈值0.1,故可认为:sinω1==0,sinξ1≠0,则C′1,5(931.2,279.1)即为质心像素坐标值为(900,246)1的平行四边形编码单元中第3编码区域的标定角点,把C′1,5(931.2,279.1)的坐标值赋值给C1,2(x1,2,y1,2);C′1,6(868.3,274.8)为质心像素坐标值为(900,246)1的平行四边形编码单元中第4编码区域的标定角点,把C′1,6(868.3,274.8)的坐标值赋值给C1,3(x1,3,y1,3);
至此在第1个无复杂背景的单元二值化图像E1上,找到了质心像素坐标值为(900,246)1的平行四边形编码单元中第1编码区域的标定角点C1,1(934.6,219.3)、第3编码区域的标定角点C1,2(931.2,279.1)、第4编码区域的标定角点C1,3(868.3,274.8)和第6编码区域的标定角点C1,4(870.8,214.8);
步骤17、在第1个无复杂背景的单元二值化图像E1上,根据步骤14中得出的在质心像素坐标值为(900,246)1的平行四边形编码单元中第1编码区域的标定角点C1,1(934.6,219.3),第6编码区域的标定角点C1,4(870.8,214.8),可由公式(12)得出质心像素坐标值为(900,246)1的平行四边形编码单元中的第5判断向量
在第1个无复杂背景的单元二值化图像E1上,以质心像素坐标值为(900,246)1的平行四边形编码单元的定位圆质心o′l,1(900,236)为起点做与第5判断向量平行且同向的单位向量,记为并记单位向量所在的直线为l1,1;以质心像素坐标值为(900,246)1的平行四边形编码单元的定向圆环质心o′d,1(900,256)为起点做与第5判断向量平行且同向的单位向量,记为并记单位向量所在的直线为l1,2;将整数变量i重新赋值i=1;
步骤18.1、定义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]用于存放质心像素坐标值为(900,246)1的平行四边形编码单元中分别位于第1编码区域、第2编码区域、第3编码区域、第4编码区域、第5编码区域和第6编码区域的编码标志圆轮廓质心在第1个无复杂背景的单元二值化图像E1上的像素坐标,初始化这6个二维数组中的所有元素,且均赋值为-1;另外取6个整数变量并将其初始化,将整数变量i重新赋值i=1;
步骤18.2、在第1个无复杂背景的单元二值化图像E1上,计算步骤15.2中,质心像素坐标值为(900,246)1的平行四边形编码单元中编码标志圆轮廓的质心像素坐标和分别与定位圆质心o′l,1、定向环质心o′d,1所形成的第1组第1个象限向量和第1组第2个象限向量以及第2组第1个象限向量和第2组第2个象限向量
根据计算得出的第1组第1个象限向量和第1组第2个象限向量第2组第1个象限向量和第2组第2个象限向量单位向量与以及方向向量通过式(15)、式(16)、式(17)、式(18)、式(19)、式(20)、式(21)、式(22)计算以及
并得出如下结果:
步骤19、定义代表质心像素坐标值为(900,246)1的平行四边形编码单元中第λ编码区域(其中λ=1,2,3,4,5,6)中第w位编码标志圆(其中w=1,2)的编码值,取0或1;取整数变量i,给i重新赋予初值i=1;
步骤20.1、本步骤分为以下情况:
情况1、若Cr1 i[0][0]==-1,Cr1 i[0][1]==-1,Cr1 i[1][0]==-1,Cr1 i[1][1]==-1,则把i+1赋值给i,当满足i>2时,继续执行下一步骤20.2;否则返回执行步骤20.1;
情况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])到直线l1,1的距离为到直线l1,3的距离为若并令若则令把i+1赋值给i,当满足i>2时,继续执行下一步骤20.2;否则返回执行步骤20.1;
情况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])到直线l1,1的距离为到直线l1,3的距离为若则令若令把i+1赋值给i,当满足i>2时,继续执行下一步骤20.2;否则返回执行步骤20.1;
情况4、若Cr1 i[0][0]≠-1,Cr1 i[0][1]≠-1,Cr1 i[1][0]≠-1,Cr1 i[1][1]≠-1,则令把i+1赋值给i,当满足i>2时,继续执行下一步骤20.2;否则返回执行步骤20.1;
在具体实施例中,根据本步骤可得:
步骤20.2、本步骤分为以下情况:
情况1、若Cr1 i[0][0]==-1,Cr1 i[0][1]==-1,Cr1 i[1][0]==-1,Cr1 i[1][1]==-1,则把i+1赋值给i,当满足i>4时,继续执行下一步骤20.3;否则返回执行步骤20.2;
情况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])到直线l1,2的距离为到直线l1,3的距离为若并令若则令把i+1赋值给i,当满足i>4时,继续执行下一步骤20.3;否则返回执行步骤20.2;
情况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])到直线l1,2的距离为到直线l1,3的距离为若则令若令把i+1赋值给i,当满足i>4时,继续执行下一步骤20.3;否则返回执行步骤20.2;
情况4、若Cr1 i[0][0]≠-1,Cr1 i[0][1]≠-1,Cr1 i[1][0]≠-1,Cr1 i[1][1]≠-1,则令把i+1赋值给i,当满足i>4时,继续执行下一步骤20.3;否则返回执行步骤20.2;
在本实施例中,
步骤20.3、本步骤分为以下情况:
情况1、若Cr1 i[0][0]==-1,Cr1 i[0][1]==-1,Cr1 i[1][0]==-1,Cr1 i[1][1]==-1,则把i+1赋值给i,当满足i>6时,继续执行下一步骤21;否则返回执行步骤20.3;
情况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])到直线l1,1的距离为到直线l1,3的距离为若并令若则令把i+1赋值给i,当满足i>6时,继续执行下一步骤21;否则返回执行步骤20.3;
情况3、若Cr1 i[0][0]≠-1,Cr1 i[0][1]≠-1,Cr1 i[1][0]==-1,Cr1 i[1][1]==-1,记坐标点到直线l1,1的距离为到直线l1,3的距离为若则令若令把i+1赋值给i,当满足i>6时,继续执行下一步骤21;否则返回执行步骤20.3;
情况4、若Cr1 i[0][0]≠-1,Cr1 i[0][1]≠-1,Cr1 i[1][0]≠-1,Cr1 i[1][1]≠-1,则令把i+1赋值给i,当满足i>6时,继续执行下一步骤21;否则返回执行步骤20.3;
具体实施例中,本步骤可得:
步骤21.1、通过上述步骤20.1、20.2和20.3得出的质心像素坐标值为(900,246)1的平行四边形编码单元中所有编码标志圆的编码值,可由公式(23)可求出与第1个无复杂背景的单元二值化图像E1中质心像素坐标为值(900,246)1的平行四边形编码单元相对应的实际空间中放置的编码平面靶标上的平行四边形编码单元的编码号W1;
W1=V1 T·U=10 (23)
其中,列向量U=(20,21,22,...211)T,列向量V1=(0,1,0,1,0,0,0,0,0,0,0,0)T;
步骤21.2、根据获得的质心坐标为(900,246)1的平行四边形编码单元的编码号W1=10,利用编码平面靶标及标定角点的匹配方法可判断得出质心坐标为(900,246)1的平行四边形编码单元所对应的实际空间中的平行四边形编码单元所属的编码平面靶标的编号:
W1=10∈[0,17],即W1落在5号编码平面靶标的平行四边形编码单元编号范围内,也即质心坐标为(900,246)1的平行四边形编码单元所对应的实际空间中的平行四边形编码单元属于5号编码平面靶标,质心坐标为(900,246)1的平行四边形编码单元上的标定角点亦属于5号编码平面靶标;
步骤22、记在第1个无复杂背景的单元二值化图像E1上质心像素坐标值为(900,246)1的平行四边形编码单元中属于第σ编码区域(其中σ=1,3,4,6)的标定角点的非唯一编码序号为L10 σ,其中下脚标10为标定角点L10 σ所属平行四边形编码单元的编码号,上角标σ的取值代表了标定角点L10 σ所属的第σ编码区域;即得到了质心像素坐标为(900,246)1的平行四边形编码单元上4个标定角点C1,1(934.6,219.3)、C1,2(931.2,249.1)、C1,3(868.3,274.8)、C1,4(870.8,214.8)的非唯一编码序号分别为 (其中σ1,1=1,σ1,2=3,σ1,3=4,σ1,4=6);
在得到第1个无复杂背景的单元二值化图像E1上质心像素坐标值为(900,246)1的平行四边形编码单元的4个标定角点的非唯一编码序号的基础上,通过步骤23.1至步骤23.4可计算出该4个标定角点的唯一编码序号;
步骤23.1、取Δ′ζ,1_σ′ζ,1、Δ′ζ,2_σ′ζ,2、Δ′ζ,3_σ′ζ,3、Δ′ζ,4_σ′ζ,4分别用于存放质心像素坐标值为(xζ,yζ)ζ的平行四边形编码单元上4个标定角点Cζ,1(xζ,1,yζ,1)、Cζ,2(xζ,2,yζ,2)、Cζ,3(xζ,3,yζ,3)、Cζ,4(xζ,4,yζ,4)的唯一编码序号,其中Δ′ζ,1、Δ′ζ,2、Δ′ζ,3、Δ′ζ,4、σ′ζ,1、σ′ζ,2、σ′ζ,3、σ′ζ,4均为正整数;
步骤23.2、取整数变量i并重新赋值i=1;
情况1、若σ1,i==1或σ1,i==6,将W1的值赋值给Δ′1,i,将σ1,i的值赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i;
情况2、若σ1,i==3,将(W1-Δ)的值赋值给Δ′1,i,将6赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_6;
情况3、若σ1,i==4,将(W1-Δ-1)的值赋值给Δ′1,i,将1赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_1;
判断i是否小于4,若i<4,则将i+1赋值给i,返回步骤23.3顺序执行;否则执行步骤24.1;
情况1、若σ1,i==1或σ1,i==6,将Wζ的值赋值给Δ′ζ,i,将σζ,i的值赋值给σ′ζ,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i;
情况2、若σ1,i==3,又分为如下两种情况:
(1)当Φp==1时,将(W1-Δ)的值赋值给Δ′1,i,将6赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_6;Δ′可由式(23)得出,
其中Δ″=2(W1-zv)/(N+1)+1(只保留整数);
(2)当Φp==2时,将(W1-Δ″′)的值赋值给Δ′1,i,将6赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i;Δ″′可由式(24)得出,
其中Δ″=2(Wζ-zv+1)/(N+1)+1(只保留整数);
情况3、若σζ,i==4,又分为如下两种情况:
(1)当Φp==1时,将(W1-Δ)的值赋值给Δ′1,i,将1赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i,其中Δ′可由式(25)得出;
其中Δ″=2(W1-zv)/(N+1)+1(只保留整数);
(2)当Φp==2时,将(W1-Δ″′)的值赋值给Δ′1,i,将1赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i,Δ″′可由式(26)得出,
其中Δ″=2(W1-zv+1)/(N+1)+1(只保留整数);
判断i是否小于4,若i<4,则将i+1赋值给i,返回步骤23.4顺序执行;否则执行步骤24.1;
情况1、若σ1,i==1或σ1,i==6,将10赋值给Δ′1,i,将σ1,i的值赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为10_σ′1,i;
情况2、若σ1,i==3,将4赋值给Δ′1,i,将6赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为7_6;
情况3、若σ1,i==4,将3赋值给Δ′1,i,将1赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为6_1;
判断i是否小于4,若i<4,则将i+1赋值给i,返回步骤23.3顺序执行;否则执行步骤24.1;
步骤24.1、取整数变量i并重新赋值i=1;
步骤24.2、判断N是否为偶数,若N为奇数,则执行步骤24.3;若N为偶数,则本步骤分为如下情况:
本步骤执行结束后,直接执行步骤24.4;
步骤24.3、本步骤分为如下两种情况:
情况2、若Δ′1,i_σ′1,i中的σ′1,i==6;则唯一编码号为Δ′1,i_σ′1,i的标定角点对应的靶标坐标为:其中当时取+,当时取-;在本步骤24.3中δW1=2(Δ′1,i-zv)/(N+1)(结果只保留整数位);
本实施例中编码立体靶标上的5号编码平面靶标的基本信息为:N==5为奇数,λ==90°,本步骤分为如下情况:
情况1、若Δ′1,i_σ′1,i中的σ′1,i==1;则唯一编码号为Δ′1,i_σ′1,i的标定角点对应的靶标坐标为:(13.5ρ10,13.5δ10,0);
情况2、若Δ′1,i_σ′1,i中的σ′1,i==6;则唯一编码号为Δ′1,i_σ′1,i的标定角点对应的靶标坐标为:(13.5(ρ10-1),13.5δ10,0);
δ10=2(Δ′ζ,i-0)/(5+1)(结果只保留整数位);
当δ10为奇数时,ρ10=[Δ′1,i-0-δ10·(5+1)/2]·2Φp==2时;
当δ10为偶数时,ρ10=[Δ′ζ,i-0-δ10·(5+1)/2]·2+1 Φp==2时;
步骤24.4、判断i是否小于4,若i<4,则将i+1赋值给i并返回步骤24.2顺序执行;若i≥4,则获得了第Δ′1,1_σ′1,1号标定角点、第Δ′1,2_σ′1,2号标定角点、第Δ′1,3_σ′1,3号标定角点和第Δ′1,4_σ′1,4号标定角点的靶标坐标,并分别记作(X1,1,Y1,1,0)、(X1,2,Y1,2,0)、(X1,3,Y1,3,0)、(X1,4,Y1,4,0);
在本实施例中:
即最终获得了第3次拍摄的靶标图像中,5号编码平面靶标上编码号为10的平行四边形编码单元的4个标定角点的亚像素坐标、标定焦点唯一编码序号和在5号靶标坐标系下的靶标坐标的一一对应关系:
标定角点C1,1(934.6,219.3)对应的唯一编码序号为10_1,其靶标坐标为(27,40.5,0);
标定角点C1,2(931.2,249.1)对应的唯一编码序号为7_6,其靶标坐标为(27,27,0);
标定角点C1,3(868.3,274.8)对应的唯一编码序号为6_1,其靶标坐标为(13.5,27,0);
标定角点C1,4(870.8,214.8)对应的唯一编码序号为10_6,其靶标坐标为(13.5,40.5,0);
步骤25、将ζ+1赋值给ζ,然后重新返回步骤7.1顺序执行。
本发明提供的编码立体靶标单目摄像机标定方法,需要编制相应的计算机程序,并在计算机上执行程序以实现相应的运算处理及逻辑控制功能,因而本发明也提供一种计算机可读存储介质,包括与具有图像处理功能的电子设备结合使用的计算机程序,所述计算机程序可被处理器执行以所述的标定方法。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种编码立体靶标,用于单目摄像机的标定图像的采集,其特征在于:该编码立体靶标与一台单目摄像机在空间相对放置,其中单目摄像机位置固定,所述编码立体靶标由基准板和基准板上连接的多个编码平面靶标组成,基准板和编码平面靶标的空间位置和姿态均可单独调节;
所有的编码平面靶标均具有编号,且每个编码平面靶标的编号互不相同;
每个编码平面靶标上均设置有多个平行四边形编码单元,每个平行四边形编码单元的编码号互不相同,且同一个编码平面靶标上的所有平行四边形编码单元的编码号具有连续性;
编码平面靶标中每一个平行四边形编码单元的内部设置有编码图案,编码图案包括一个定位图案、一个定向图案和编码标志图案,其中编码标志图案又由多个编码单元图案组成;由定向图案和定位图案可实现编码平面靶标旋转方向的判断;编码标志图案则是用于给编码平面靶标中的每个标定角点进行编码,且编码单元图案的数量和分布均由其所在的平行四边形编码单元的编号决定;
在任意一个编号为ατ的编码平面靶标上,任取该编码平面靶标中的一个平行四边形编码单元记为该编码平面靶标向量确定编码单元任取该编码平面靶标向量确定编码单元的一个顶点记为向量确定编码单元第一顶点在该编码平面靶标向量确定编码单元中将相交形成向量确定编码单元第一顶点的任意一条边记为向量确定编码单元第一边在向量确定编码单元第一边上取向量确定编码单元的顶点记为向量确定编码单元第一边上第一点其中向量确定编码单元第一边上第一点与向量确定编码单元第一顶点是互不重合的2个点,记向量为该编码平面靶标的规定向量并且编码平面靶标内的每一个平行四边形编码单元中的定位图案和定向图案的位置关系如下:在同一平行四边形编码单元内由定向图案质心指向定位图案质心的方向与该编码平面靶标的规定向量的方向相同。
2.根据权利要求1所述的编码立体靶标,其特征在于:所述编码立体靶标的基准板被划分为S个区域,其中每个区域均放置有一个编码平面靶标,其中S为整数且S>3。
3.根据权利要求1所述的编码立体靶标,其特征在于:任意两个编码平面靶标的空间姿态具有明显差异。
4.一种基于权利要求2所述的编码立体靶标的单目摄像机标定方法,其特征在于:主要包括以下步骤:
S1:利用空间中放置的一台摄像机拍摄位于空间中的编码立体靶标从而获得一幅靶标图像;
S2:判断该靶标图像是否满足标定要求,若靶标图像不满足标定条件,则在调整摄像机和编码立体靶标的空间相对位置后重新进行拍摄和判断,若靶标图像满足标定条件则将其作为标定图像;
S3:根据标定图像,利用标定算法计算出摄像机的内外参数。
5.根据权利要求4所述的单目摄像机标定方法,其特征在于:具体标定方法包括以下步骤:
步骤1.1、定义标定平面靶标总个数阈值G,标定角点个数阈值k,编码平面靶标个数阈值k′;
步骤1.2、建立靶标图像标定角点像素坐标系o-xy;
步骤2.1、定义整数变量τ并赋值τ=1;
步骤2.2、利用位置固定的一台摄像机拍摄位于空间中的编码立体靶标,获得第τ次拍摄的靶标图像;
步骤3.1、定义整数变量ατ并赋值ατ=1;
步骤3.4、判断ατ是否小于S,若ατ<S,则将ατ+1赋值给ατ后返回步骤3.2顺序执行;否则执行步骤4;
步骤4、将第τ次拍摄的靶标图像作为输入条件,利用编码立体靶标的解码方法,获得第τ次拍摄的靶标图像中编码平面靶标的个数第τ次拍摄的靶标图像中每个编码平面靶标的编号、第τ次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点个数和每个标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标、第τ次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点的唯一编码序号,以及第τ次拍摄的靶标图像中每个编码平面靶标上提取到的标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标和与之一一对应的在空间中编码立体靶标上具有相同唯一编码序号的标定角点在相应靶标坐标系下的靶标坐标之间的匹配关系;
步骤5.2、将步骤4中获得的个编码平面靶标的编号按照从小到大的顺序排列,并分别记为其中均为整数;并将第τ次拍摄的靶标图像中编号为和的编码平面靶标分别记为第τ次拍摄的靶标图像中的第1个编码平面靶标、第2个编码平面靶标、第3个编码平面靶标、…和第个编码平面靶标;
步骤6、定义整数变量βτ并赋值βτ=0;取整数变量iτ并赋值iτ=1;
若则将βτ+1赋值给βτ,将第iτ个编码平面靶标记为第βτ个标定平面靶标,将第iτ个编码平面靶标上提取到的标定角点在靶标图像标定角点像素坐标系o-xy下的亚像素坐标和与之一一对应的在空间中编码立体靶标上具有相同唯一编码序号的标定角点在号靶标坐标系下的靶标坐标之间的匹配关系记为第iτ个标定匹配组,而后执行步骤8;否则,直接执行步骤8;
步骤9、判断βτ是否小于G,若βτ<G,则执行步骤10;否则获得了βτ个满足标定条件的标定平面靶标和βτ个标定匹配组,执行步骤11;
步骤10、调整编码立体靶标,使得摄像机视场中包含更多的编码平面靶标和标定角点,而后将τ+1赋值给τ并返回步骤2.2顺序执行;
步骤11、根据所述步骤9中获得的βτ个标定匹配组,利用标定算法计算出摄像机的内外参数和畸变系数。
6.根据权利要求5所述的单目摄像机标定方法,其特征在于:步骤1.2中,建立靶标图像标定角点像素坐标系o-xy的具体方式为:以摄像机拍摄的靶标图像的左上角作为所述靶标图像标定角点像素坐标系的坐标原点o,自左向右为靶标图像标定角点像素坐标系的x轴方向,自上向下作为靶标图像标定角点像素坐标系的y轴方向,由此建立靶标图像标定角点像素坐标系o-xy。
7.一种计算机可读存储介质,包括与具有图像处理功能的电子设备结合使用的计算机程序,所述计算机程序可被处理器执行如权利要求5所述的标定方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011540944 | 2020-12-23 | ||
CN202011540944X | 2020-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113112549A CN113112549A (zh) | 2021-07-13 |
CN113112549B true CN113112549B (zh) | 2022-08-23 |
Family
ID=76715491
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110386595.9A Active CN113112548B (zh) | 2020-12-23 | 2021-04-12 | 基于编码立体靶标的双目摄像机内外参数的快速标定方法 |
CN202110386671.6A Active CN113112549B (zh) | 2020-12-23 | 2021-04-12 | 一种基于编码立体靶标的单目摄像机快速标定方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110386595.9A Active CN113112548B (zh) | 2020-12-23 | 2021-04-12 | 基于编码立体靶标的双目摄像机内外参数的快速标定方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113112548B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009042162A (ja) * | 2007-08-10 | 2009-02-26 | Toshiba Corp | キャリブレーション装置及びその方法 |
CN101699223A (zh) * | 2009-10-27 | 2010-04-28 | 北京控制工程研究所 | 一种月球车双目视觉导航***标定装置 |
CN104933717A (zh) * | 2015-06-17 | 2015-09-23 | 合肥工业大学 | 基于方向性标定靶标的摄像机内外参数自动标定方法 |
CN106600648A (zh) * | 2016-12-06 | 2017-04-26 | 合肥工业大学 | 标定相机内参数和畸变系数的立体编码靶标及其标定方法 |
CN109215082A (zh) * | 2017-06-30 | 2019-01-15 | 杭州海康威视数字技术股份有限公司 | 一种相机参数标定方法、装置、设备及*** |
CN111562791A (zh) * | 2019-03-22 | 2020-08-21 | 沈阳上博智像科技有限公司 | 一种无人机合作目标识别视觉辅助着陆的***及方法 |
CN111709999A (zh) * | 2020-05-13 | 2020-09-25 | 深圳奥比中光科技有限公司 | 标定板、相机标定方法、装置、电子设备及相机*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103247053B (zh) * | 2013-05-16 | 2015-10-14 | 大连理工大学 | 基于双目显微立体视觉的零件精确定位方法 |
CN104867160B (zh) * | 2015-06-17 | 2017-11-07 | 合肥工业大学 | 一种用于摄像机内外参数标定的方向性标定靶标 |
FR3051591B1 (fr) * | 2016-05-17 | 2020-06-19 | Horiba Jobin Yvon Sas | Dispositif et procede de micro-localisation pour instrument imageur et appareil de mesure |
CN106846415B (zh) * | 2017-01-24 | 2019-09-20 | 长沙全度影像科技有限公司 | 一种多路鱼眼相机双目标定装置及方法 |
CN106548477B (zh) * | 2017-01-24 | 2019-03-29 | 长沙全度影像科技有限公司 | 一种基于立体标定靶的多路鱼眼相机标定装置及方法 |
CN109598762B (zh) * | 2018-11-26 | 2021-09-21 | 江苏科技大学 | 一种高精度双目相机标定方法 |
-
2021
- 2021-04-12 CN CN202110386595.9A patent/CN113112548B/zh active Active
- 2021-04-12 CN CN202110386671.6A patent/CN113112549B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009042162A (ja) * | 2007-08-10 | 2009-02-26 | Toshiba Corp | キャリブレーション装置及びその方法 |
CN101699223A (zh) * | 2009-10-27 | 2010-04-28 | 北京控制工程研究所 | 一种月球车双目视觉导航***标定装置 |
CN104933717A (zh) * | 2015-06-17 | 2015-09-23 | 合肥工业大学 | 基于方向性标定靶标的摄像机内外参数自动标定方法 |
CN106600648A (zh) * | 2016-12-06 | 2017-04-26 | 合肥工业大学 | 标定相机内参数和畸变系数的立体编码靶标及其标定方法 |
CN109215082A (zh) * | 2017-06-30 | 2019-01-15 | 杭州海康威视数字技术股份有限公司 | 一种相机参数标定方法、装置、设备及*** |
CN111562791A (zh) * | 2019-03-22 | 2020-08-21 | 沈阳上博智像科技有限公司 | 一种无人机合作目标识别视觉辅助着陆的***及方法 |
CN111709999A (zh) * | 2020-05-13 | 2020-09-25 | 深圳奥比中光科技有限公司 | 标定板、相机标定方法、装置、电子设备及相机*** |
Non-Patent Citations (2)
Title |
---|
Deltille Grids for Geometric Camera Calibration;Hyowon Ha等;《2017 IEEE International Conference on Computer Vision》;20171225;第5354-5362页 * |
双目立体视觉自定位线扫描三维测量技术;殷玉龙;《中国优秀硕士学位论文全文数据库信息科技辑》;20160615;第I138-1260页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113112548A (zh) | 2021-07-13 |
CN113112548B (zh) | 2022-08-19 |
CN113112549A (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112097689B (zh) | 一种3d结构光***的标定方法 | |
CN110853075B (zh) | 一种基于稠密点云与合成视图的视觉跟踪定位方法 | |
CN113129385B (zh) | 基于空间中多编码平面靶标的双目摄像机内外参数标定方法 | |
CN100430690C (zh) | 利用单数码相机自由拍摄进行物体三维测量的方法 | |
CN111981982B (zh) | 一种基于加权sfm算法的多向合作靶标光学测量方法 | |
CN112132907B (zh) | 一种相机标定方法、装置、电子设备及存储介质 | |
CN109373912B (zh) | 一种基于双目视觉的非接触式六自由度位移测量方法 | |
CN113096191B (zh) | 基于编码平面靶标的单目摄像机智能标定方法 | |
CN113160329B (zh) | 用于摄像机标定的编码平面靶标及其解码方法 | |
CN113129386B (zh) | 基于编码平面靶标的双目摄像机内外参数的智能标定方法 | |
CN110415304B (zh) | 一种视觉标定方法及*** | |
CN113129397B (zh) | 一种基于图形几何关系的平行四边形编码标志的解码方法 | |
CN112257721A (zh) | 一种基于Fast ICP的图像目标区域匹配方法 | |
CN113012271A (zh) | 一种基于uv贴图的手指三维模型纹理映射方法 | |
CN115147499A (zh) | 标定参数确定方法、混合标定板、装置、设备和介质 | |
CN112184825B (zh) | 一种标定板和标定方法 | |
CN116912334B (zh) | 基于光栅条纹投影的相位映射高精度投影仪标定方法 | |
CN113112549B (zh) | 一种基于编码立体靶标的单目摄像机快速标定方法 | |
CN113129396B (zh) | 一种基于区域分割的平行四边形编码标志的解码方法 | |
CN115222828A (zh) | 用于视觉定位的正六边形编码标志解码方法 | |
CN113192143B (zh) | 一种用于摄像机快速标定的编码立体靶标及其解码方法 | |
CN114494316A (zh) | 角点标记方法、参数标定方法、介质及电子设备 | |
CN113112550A (zh) | 一种用于摄像机内外参数标定的编码平面靶标及其编码方法 | |
Guo et al. | Automatic shape-based target extraction for close-range photogrammetry | |
CN113129388B (zh) | 用于快速标定摄像机内外参数的编码立体靶标及其编码方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |