摄像机内参 标定 内参 哪个函数求出

导读:关键词双目视觉三维重建立体匹配摄像机标定视差,双目立体视觉系统一般由双摄像机从不同角度同时获得被测物的两幅数字图像,或由单摄像机在不同时刻从不同角度获得被测物的两幅数字图像,HALCON也包含Blob分析、形态学、模式识别、测量、三维摄像机定标、双目立体,两摄像机的投影中心的连线的距离,摄像机坐标系的原点在摄像机镜头的光心处,事实上摄像机的成像平面在镜头的光心后,这个虚拟的图像平面坐标系O1u基于HALCON的双目立体视觉系统实现
摘要 双目立体视觉的研究一直是机器视觉中的热点和难点。使用双目立体视觉系统可以确定任意物体的三维轮廓,并且可以得到轮廓上任意点的三维坐标。因此双目立体视觉系统可以应用在多个领域。本文将主要介绍如何基于HALCON实现双目立体视觉系统,以及立体视觉的基本理论、方法和相关技术,为搭建双目立体视觉系统和提高算法效率提供了参考。 关键词 双目视觉 三维重建 立体匹配 摄像机标定 视差
双目立体视觉是机器视觉的一种重要形式,它是基于视差原理并由多幅图像获取物体三维几何信息的方法。双目立体视觉系统一般由双摄像机从不同角度同时获得被测物的两幅数字图像,或由单摄像机在不同时刻从不同角度获得被测物的两幅数字图像,并基于视差原理恢复出物体三维几何信息,重建物体三维轮廓及位置。双目立体视觉系统在机器视觉领域有着广泛的应用前景。
HALCON是在世界范围内广泛使用的机器视觉软件。它拥有满足您各类机器视觉应用需求的完善的开发库。HALCON也包含Blob分析、形态学、模式识别、测量、三维摄像机定标、双目立体视觉等杰出的高级算法。HALCON支持Linux和Windows,并且可以通过C、C++、C#、Visual Basic和Delphi语言访问。另外HALCON与硬件无关,支持大多数图像采集卡及带有DirectShow和IEEE 1394驱动的采集设备,用户可以利用其开放式结构快速开发图像处理和机器视觉应用软件。 一.双目立体视觉相关基本理论介绍 1.1 双目立体视觉原理 双目立体视觉三维测量是基于视差原理,图1所示为简单的平视双目立体成像原理图,两摄像机的投影中心的连线的距离,即基线距为b。摄像机坐标系的原点在摄像机镜头的光心处,坐标系如图1所示。事实上摄像机的成像平面在镜头的光心后,图1中将左右成像平面绘制在镜头的光心前f处,这个虚拟的图像平面坐标系O1uv的u轴和v轴与和摄像机坐标系的x轴和y轴方向一致,这样可以简化计算过程。左右图像坐标系的原点在摄像机光轴与平面的交点O1和O2。空间中某点P在左图像和右图像中相应的坐标分别为P1(u1,v1)和P2(u2,v2)。假定两摄像机的图像在同一个平面上,则点P图像坐标的Y坐标相同,即v1=v2。由三角几何关系得到:
上式中(xc,yc,zc)为点P在左摄像机坐标系中的坐标,b为基线距,f为两个摄像机的焦距,(u1,v1)和(u2,v2)分别为点P在左图像和右图像中的坐标。 视差定义为某一点在两幅图像中相应点的位置差:
由此可计算出空间中某点P在左摄像机坐标系中的坐标为:
因此,只要能够找到空间中某点在左右两个摄像机像面上的相应点,并且通过摄像机标定获得摄像机的内外参数,就可以确定这个点的三维坐标。
1.2 双目立体视觉的系统结构以及精度分析
由上述双目视觉系统的基本原理可知,为了获得三维空间中某点的三维坐标,需要在左右两个摄像机像面上都存在该点的相应点。立体视觉系统的一般结构为交叉摆放的两个摄像机从不同角度观测同一被测物体。图2和图3分别为实物图与原理图。这样通过求得两个图像中相应点的图像坐标,便可以由双目立体视觉测量原理求取三维空间坐标。事实上,获取两幅图像也可以由一个摄像机实现,如一个摄像机通过给定方式的运动,在不同位置观测同一个静止的物体,或者通过光学成像方式将两幅图像投影到一个摄像机,都可以满足要求。
各种双目视觉系统结构各有优缺点,这些结构适用于不同的应用场合。对要求大测量范围和较高测量精度的场合,采用基于双摄像机的双目立体视觉系统比较合适;对测量范围要求比较小,对视觉系统体积和质量要求严格,需要高速度实时测量对象,基于光学成像的单摄像机双目立体视觉系统便成为最佳选择。
基于双摄像机的双目立体视觉系统必须安装在一个稳定的平台上,在进行双目视觉系统标定以及应用该系统进行测量时,要确保摄像机的内参(比如焦距)和两个摄像机相对位置关系不能够发生变化,如果任何一项发生变化,则需要重新对双目立体视觉系统进行标定。 视觉系统的安装方法影响测量结果的精度。测量的精度可由下式得出:
上式中Sz表示测量得出的被测点与立体视觉系统之间距离的精度,z指被测点与立体视觉系统的绝对距离,f指摄像机的焦距,b表示双目立体视觉系统的基线距,Sd表示被测点视差精度。
为了得到更高的精度,应该使摄像机的焦距以及基线长度增大,同时应该使被测物体尽可能的靠近立体视觉系统。另外这个精度和视差的精度有直接的关系。在HALCON中一般情况下视差结果可以精确到1/5~1/10个像素,如果一个像素代表7.4μm那么视差的精度可以达到1μm。图4表示深度测量的精度和各个参数之间的关系(假设视差精度为1μm)。
如果b和z之间的比值过大,立体图像对之间的交迭区域将非常小,这样就不能够得到足够的物体表面信息。b/z可以取的最大值取决于物体的表面特征。一般情况下,如果物体高度变化不明显,b/z可以取的大一些;如果物体表面高度变化明显,则b/z的值要小一些。无论在任何情况下,要确保立体图像对之间的交迭区域足够大并且两个摄像机应该大约对齐,也就是说每个摄像机绕光轴旋转的角度不能太大。
1.3 双目立体视觉系统标定
摄像机内参数的标定和单目视觉系统标定一致,双目立体视觉系统的标定主要是指摄像机的内部参数标定后确定视觉系统的结构参数R和T(即两个摄像机之间的位置关系,R和T分别为旋转矩阵和平移向量)。一般方法是采用标准的2D或3D精密靶标,通过摄像机图像坐标与三维世界坐标的对应关系求得这些参数。具体的标定过程【3】如下:
1、将标定板放置在一个适当的位置,使它能够在两个摄像机中均可以完全成像。通过标定确定两个摄像机的内部参数以及他们的外部参数(R1、T1与R2、T2),则R1、T1表示左摄像机与世界坐标系的相对位置,R2、T2表示右摄像机与世界坐标系的相对位置。
2、假定空间中任意一点在世界坐标系、左摄像机坐标系和右摄像机坐标系下的非齐次坐标分别为xw、x1、x2,则:
消去xw,得到:
两个摄像机之间的位置关系R、T可以用以下关系式表示:
1.4 双目立体视觉中的对应点匹配
由双目立体视觉系统原理可以看出双目立体视觉是建立在对应点的视差基础之上,因此左右图像中各点的匹配关系成为双目立体视觉技术的一个极其重要的问题。然而,对于实际的立体图像对,求解对应问题极富挑战性,可以说是双目立体视觉中最困难的一步。为了能够增加匹配结果的准确性以及匹配算法的速度,在匹配过程中通常会加入下列几种约束: (1) 极线约束。在此约束下,匹配点已经位于两副图像中相应的极线上。 (2) 唯一性约束。两副图像中的对应的匹配点应该有且仅有一个。 (3) 视差连续性约束。除了遮挡区域和视差不连续区域外,视差的变化都是平滑的。 (4) 顺序一致性约束。位于一副图像极线上的系列点,在另一幅图像中极线上有相同的顺序。 图像匹配的方法有基于图像灰度(区域)的匹配、基于图像特征的匹配和基于解释的匹配或者多种方法结合的匹配【3】。 二.使用HALCON进行双目立体视觉测量
本节以电路板高度测量为例,讲述在HALCON中如何方便快捷地实现高效双目立体视觉测量(图像为640*480)。
2.1 双目立体视觉系统安装
根据1.2节中对双目立体视觉系统结构分析以及精度的分析,在确保两个立体图像对有足够大的交迭区域的同时,根据待测物体表面形态以及精度要求设计合理的双目立体视觉系统安装方案(图2)。然后将双目立体视觉系统安装在一个稳定的平台上,确保开始标定后,摄像机的焦距以及摄像机的相对关系都不发生变化。
2.2 双目立体视觉系统标定
为了进行视觉系统的标定,需要得到空间点的三维坐标以及该点在左右两幅图像中坐标的对应关系,另外还需要给定两个摄像机的初始参数。拍摄标定板图像时,要保证标定板在左右两个摄像机中都能够完整成像。 如果使用HALCON标准标定板,首先可以通过函数find_caltab()在标定板图像中分离出标定板区域,然后利用find_marks_and_pose()算子,该算子通过亚象素阈值、亚象素边缘提取、圆心确定等一系列操作计算标定板上每个点的图像坐标以及标定板与摄像机之间大约的位置关系,即摄像机的外参初始值。其中使用find_caltab()分离标定板区域运算时间大约为5ms,find_marks_and_pose()计算标定板上49个标志点的坐标大约需要时间为40ms,计算坐标精度为亚象素级,如某标志点在左摄像机图像坐标系中坐标为(198., 344.),右摄像机图像坐标系中相应点坐标为(212., 226.)。
如果使用自定义的标定板,可以使用HALCON中的图像滤波、亚象素边缘及线提取、亚象素轮廓处理等基本函数开发算法求取标志点的坐标并估算摄像机的外参初始值。
获得标志点相应的坐标以及摄像机的起始参数后,通过调用函数binocular_calibration()来确定两个摄像机的内参数、外参数以及两个摄像机之间的相对位置关系。通过539个标志点坐标的对应关系计算出摄像机各个参数需要的时间为1.6094s,计算误差约为0.02个象素。
2.3 校正立体图像对
为了能够更精确地进行匹配,提高运算的效率,在获得摄像机的内外参数后首先对立体图像对进行校正。校正的过程其实就是将图像投影到一个公共的图像平面上,这个公共的图像平面方向由双目立体视觉系统基线与原始两个图像平面交线的叉集确定。
校正后的图像可以看作是一个虚拟的立体视觉系统(图5)采集的图像对。这个视觉系统中摄像机的光心与实际摄像机一致,只是通过绕光心的旋转使光轴平行,并且视觉系统中两个摄像机的焦距相同。这个虚拟的立体视觉系统就是双目立体视觉原理中提到的最简单的平视双目视觉模型。
HALCON中将标定过程中获得的摄像机的内参以及两个摄像机相对位置关系作为参数传递给函数gen_binocular_rectification_map(),再将获得的两个图像的映射图传递给函数map_ image(),即可得到校正后的两幅图像,并可获得校正后虚拟立体视觉系统中两个摄像机的内参和外参。其中函数gen_binocular_rectification_map()耗时约为0.3488s,map_image()耗时约为0.0050s。 包含总结汇报、IT计算机、资格考试、文档下载、word文档、教学研究、专业文献、应用文书、计划方案、人文社科以及halcon摄像机标定等内容。本文共2页
相关内容搜索2012年4月 VC/MFC大版内专家分月排行榜第一
2012年5月 VC/MFC大版内专家分月排行榜第二2012年3月 VC/MFC大版内专家分月排行榜第二2011年7月 VC/MFC大版内专家分月排行榜第二2011年1月 VC/MFC大版内专家分月排行榜第二2010年12月 VC/MFC大版内专家分月排行榜第二2010年9月 VC/MFC大版内专家分月排行榜第二2010年6月 VC/MFC大版内专家分月排行榜第二2010年5月 VC/MFC大版内专家分月排行榜第二2010年4月 VC/MFC大版内专家分月排行榜第二
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。(window.slotbydup=window.slotbydup || []).push({
id: '2014386',
container: s,
size: '234,60',
display: 'inlay-fix'
&&|&&0次下载&&|&&总10页&&|
您的计算机尚未安装Flash,点击安装&
阅读已结束,如需下载到电脑,请使用积分()
下载:5积分
相关分类推荐
0人评价2页
0人评价2页
0人评价1页
0人评价2页
0人评价1页
所需积分:(友情提示:大部分文档均可免费预览!下载之前请务必先预览阅读,以免误下载造成积分浪费!)
(多个标签用逗号分隔)
文不对题,内容与标题介绍不符
广告内容或内容过于简单
文档乱码或无法正常显示
文档内容侵权
已存在相同文档
不属于经济管理类文档
源文档损坏或加密
若此文档涉嫌侵害了您的权利,请参照说明。
我要评价:
价格:5积分VIP价:4积分他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 摄像机内参 的文章

 

随机推荐