Forpersonaluseonlyinstudyandresearch;mercialuse羅艿研究生课程论文Forpersonaluseonlyinstudyandresearch;mercialuse薇肄螅《基于OpenCV双目视觉标定》芀羀课程名称机器视觉螈姓名王焕玲膁学号11莂专业机械工程肈任课教师江开勇膇开课时间12-13学年第二学期羂腿教师评阅意见:膇蚆蚂膀蕿肆蒃节论文成绩蚇蒅评阅日期膃聿肀羄课程论文提交时间:2013年09月06日羃肁基于OpenCV的双目视觉标定膈薈摘要:分析了基于2D标靶的摄像机标定算法原理以及双目立体视觉系统摄像机的标定方法,给出了基于开源视觉库OpenCV的摄像机标定算法的详细处理流程,实现了一个完整的摄像机标定程序,可移植到嵌入式系统中。蚄关键词:摄像机标定,双目视觉,OpenCV膂0前言芆在很多视觉系统的应用中,例如测量或者物体表面三维恢复等,需要得到摄像机的内、外参数,即进行摄像机标定。摄像机标定是决定系统精度的关键环节。OpenCV是用来实现计算机视觉相关技术的开放源码工作库,是计算机视觉、图像处理、模式识别、计算机图形学、信号处理、视频监控、科学可视化等相关从业人员的好工具双目立体视觉是计算机视觉的一个重要分支,D)经过移动或旋转拍摄同一幅场景,通过计算空间点在两幅图像中的视差,获得该点的三维坐标值。80年代美国麻省理工学院人工智能实验室的Marr提出了一种视觉计算理论并应用在双眼匹配上,使两张有视差的平面图产生有深度的立体图形,奠定了双目立体视觉发展的理论基础。相比其他类的体视方法,如透镜板三维成像、投影式三维显示、全息照相术等,双目体视直接模拟人类双眼处理景物的方式,可靠简便,在许多领域均极具应用价值,如微肇操作系统的位姿检测与控制、机器人导航与航测、三维测量学及虚拟现实等。莄1双目视觉标定的原理及特点罿传统的摄像机标定方法,都需要使用3D立体标靶,制作成本高,且加工精度受到一定的限制。基于2D平面标靶的摄像机标定方法,只要求摄像机在不同方位拍摄一个平面标靶,能够满足嵌入式视觉系统中标定方法灵活、快速的要求。虿基于2D标靶的平面标定方法,标定过程分为两步:①计算标靶平面与图像平面之间的映射矩阵,计算映射矩阵时不考虑摄像机的成像模型,只是根据平面标靶坐标点和对应的图像坐标点的数据,利用最小二乘方法计算得到;②求解摄像机参数矩阵,由计算得到的标靶平面和图像平面的映射矩阵得到与摄像蒇机内部参数相关的基本方程关系,求解方程得到摄像机内部参数,考虑镜头的畸变模型,将上述解方程获得的内部参数作为初值,进行非线性优化搜索,从而计算出所有参数的准确值。膄在双目立体视觉系统中,除了要得到各个摄像机的内部参数外,还要知道两台摄像机之间的相对位置关系,获得系统的结构参数:旋转矩阵R和平移矢量T。设双目视觉系统左右摄像机的外部参数分别为Rl、Tl与Rr、Tr,即Rl、Tl表示左摄像机与世界坐标系的相对位置,Rr、Tr表示右摄像机与世界坐标系的相对位置。因此,对于空间任意一点,如果在世界坐标系、左摄像机坐标系和右摄像机坐标系中的坐标分别为xw、xl、xr,则有:xl=Rlxw+Tl,xr=Rrxw+Tr。因此,两台摄像机之间的相对几何关系可以由下式表示[3]:R=RrRl-1,T=Tr—RrRl-1T。肁2基于OpenCV的双目视觉摄像机实验标定螇摄像机标定是为了建立三维世界坐标与二维图像坐标之间的一种对应关系。系统采用两个摄像机进行图像采集,设定好两个摄像机之间的距离(即基线距),用摄像机同时采集放在摄像机前的标定物。基于OpenCV的摄像机标定采用平面棋盘格标模板,如下图所示。袆袅肂图一标定模板肀莅蚅由平面标定算法原理可知,采集不同方位的多幅棋盘标定模板的图像,根据模板角点与图像点的坐标对应关系就可以得到摄像机的内、外参数,由于计算中采用了最小二乘算法,因此,采集的图像越多,标定的结果越准确。利用OpenCV提供的处理函数,实现了快速、准确、全自动处理的摄像机标定算法。算法结构如图2所示。衿芈螅肂图2摄像机标定算法羁(1)装载图像莆OpenCV的HightGUI部分提供了载入图像的函数cvLoadImage()。cvLoadImage()返回指向图像的IplImage结构指针,所有对图像的处理操作都是通过对IplImage指针完成的。cvLoadImage()函数只支持单幅图像的载入,而摄像机的标定需要对多幅图像进行处理。算法中采用了一个简单、实用的处理方法,即将所需要的全部标定图片的名称(包括扩展名)存放在一个TXT文本文件中,文件名之间以回车符相隔,因此,循环读取文本文件的内容就可以载入所需要的全部标定图像。膄(2)粗精度角点提取袂角点提取由函数cvFindChessboardCorners
机器视觉222 来自淘豆网m.daumloan.com转载请标明出处.