发明名称 一种基于OpenCV摄像头标定的3D输入方法
摘要 本发明涉及一种3D输入方法,具体涉及一种具有6自由度的基于OpenCV摄像机标定技术的3D输入方法。本发明包括:输入棋盘方格大小、角点数目以及摄像机输出图像的大小参数;判断本次输入的参数是否与上一次保存的棋盘方格大小、角点数目,输出图像大小一致;对摄像头进行标定,求解摄像机的内部参数矩阵以及摄像机镜头引起的畸形系数;对摄像头采集棋盘的图像进行灰度处理;提取图像上棋盘的角点信息;判断输入图像的角点数目与棋盘的角点总数是否一致;提取棋盘所有角点的位置信息,根据摄像头的内参矩阵以及畸形系数,分别求出棋盘的6个自由度信息。本发明克服了传统3D输入设备的结构复杂、成本高、维护困难等缺点。
申请公布号 CN103399652B 申请公布日期 2017.02.22
申请号 CN201310303399.6 申请日期 2013.07.19
申请人 哈尔滨工程大学 发明人 王平;薛开;何波贤;王跃午;杨恒
分类号 G06F3/0346(2013.01)I;G06T7/00(2017.01)I 主分类号 G06F3/0346(2013.01)I
代理机构 代理人
主权项 一种基于OpenCV摄像头标定的3D输入方法,其特征在于:(1)输入棋盘方格大小、棋盘角点总数目以及摄像机输出图像的大小参数;(2)判断本次输入的参数是否与上一次保存的棋盘方格大小、棋盘角点总数目,摄像机输出图像的大小一致,若一致,程序执行步骤(3),否则程序执行步骤(4);(3)对摄像头进行标定,求解摄像机的内部参数矩阵以及摄像机镜头引起的畸形系数:1)输入需要进行摄像机标定的图像数量;2)移动或旋转棋盘到不同的位置,通过摄像机采集棋盘的图像,按顺序进行编号并保存;3)对采集的图像进行灰度处理,提取棋盘图像的角点信息;4)判断提取的棋盘图像的角点数量与输入的棋盘角点总数目是否一致,若一致,则执行5),若不一致,重新步骤2),采集下一张图片;5)提取棋盘所有角点的信息,并临时保存;6)判断摄像机进行标定的图像数量是否与设定的数目相同,若不同,返回步骤2)继续采集图片,若相同,执行步骤7);7)收集每张不同角度的棋盘角点信息,计算出摄像头的内参矩阵以及畸形系数;8)将计算得到的内参矩阵以及畸形系数,保存成XML文件,并释放内存,执行步骤(4);(4)对摄像头采集棋盘的图像进行灰度处理;(5)提取图像上棋盘的角点信息;(6)判断输入图像的角点数目与真实的棋盘角点总数目是否一致,若不一致,提取新的图像,重新执行步骤(4),若一致,执行步骤(7);(7)提取棋盘所有角点的位置信息,根据已经保存的摄像机的内参矩阵以及畸形系数,求解出当前棋盘的位姿,通过空间解析,分别求出棋盘的6个自由度信息,即位置(x,y,z)和姿态(γ,β,α),最后返回步骤(4)进行新一轮循环计算,直到提取完所有图像。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室