Sandeep Hiremath, MathWorks
相机标定是通过校正镜头畸变或以世界单位测量物体尺寸来提高相机所捕获图像质量的一种技术。在机器视觉测量实际物体大小,机器人导航和3D场景重建等应用中,一个经过校准的摄像机是必不可少的组成部分。
摄像机标定包括确定摄像机的特性:内在参数和外在参数。内在参数定义相机的内部特性,如镜头的焦距、光学中心和镜头畸变系数。了解这些参数可以让我们提高镜头失真的图像质量,并映射真实世界的距离到像素。外部参数定义了摄像机相对于固定物体在空间中的位置,这些参数对于立体标定和从运动中构造是至关重要的。在本视频中,您将看到使用MATLAB为摄像机(包括鱼眼镜头和立体视觉)执行摄像机校准是多么容易。
计算机视觉工具箱提供两种功能的MATLAB和执行摄像机标定的交互式应用程序。相机校准应用程序是一个简单的交互式界面,完成校准流程。
首先,添加一个棋盘格校准图案的校准图像。之所以使用棋盘是因为它的规则模式使其易于自动检测。为了获得准确的校准结果,建议使用10到20幅图像。
接下来,输入棋盘正方形的世界单位,如毫米、厘米或英寸。这是找到世界单位和图像像素之间的映射的必要步骤。然后应用程序自动检测提供的图像中的棋盘格校准模式。
然后,您可以通过放大检查结果来检查棋盘检测器的准确性。这有助于发现不正确的检测和删除坏的图像。在“选项”下,您还可以指定计算的径向扭曲系数的数目。当光线在透镜边缘处比在光学中心处弯曲得更厉害时,就会发生径向畸变。通常情况下,两个系数就足够了,但对于严重失真,比如广角镜头,三个系数可能是必要的。您还可以启用对切向失真的估计。这种畸变发生在镜头和相机传感器不平行时。
现在,按校准按钮求解相机参数。一旦校准完成,你可以通过可视化重投影误差评估校准结果。重投影误差
是校准误差的一个全球性的措施,是使用相机参数,你刚刚计算出的图像中检测点与点之间的差重新投影放回图像。这有利于识别形象不好,你可以删除并重新校准争取更好的成绩。
您还可以可视化外部参数,以查看从哪个角度拍摄的校准图像。这对于发现没有从足够的角度捕获校准图像是有用的,并且可能需要更多的图像来改进校准结果。
现在我们已经看到了标准相机的校准流程,让我们看看同样的鱼眼镜头或广角镜头。
不同于标准的相机镜头,这些摄像机采用了一系列复杂的镜头放大的相机视场,使其能够捕捉宽阔的全景或半球图像。然而,透镜实现通过扭曲角度的线图像中的这种极其广角视图。计算机视觉工具箱校准算法使用由Scaramuzza,其中本征参数占极度扭曲和伸展提出了鱼眼相机模型。
在应用程序中,选择相机模型选项为“鱼眼”。在“选项”下,您现在可以选择启用估计传感器和图像平面之间的对齐。运行校准后,您可以查看未失真的图像,已补偿镜头畸变。透镜畸变是一个常见的问题,它会使直线出现弯曲。知道了相机的内在参数,我们就可以应用一种消除镜头畸变的非失真程序,现在你就可以看到,出现弯曲的边缘现在已经被拉直了。校正镜头畸变是非常有用的在计算机视觉的应用程序,如拼接图像在一起形成全景图,需要图像不失真的工作良好。
这里是可用的计算机视觉工具箱一个例子,说明如何衡量一对夫妇在这里右图所示的硬币的直径。
最后,让我们来看看在校准工作流程,利用MATLAB立体相机。立体视觉是通过比较相同场景的两个或多个视图回收来自摄像机的图像深度的过程。该计算的输出是设计一个3D点云,有用的,其中每个3D点对应于一个像素的图像中的一个。在MATLAB立体摄像机校准应用程序允许你估算在立体相机对每个相机的几何参数。您也可以估算相机对之间的平移和旋转。在应用中,负载校准分别棋盘对于两个照相机的图像,然后按照如之前执行校准和分析结果的相同的步骤。
这里的投影误差条形图显示每个图像的平均投影误差,与总体平均误差一起。在视图部分显示了立体声整改效果单击显示整流选项。如果校正准确,图像会无失真和行对齐。
感谢您观看这段视频,请访问mathworks.com关于相机校准的更多信息。
您也可以从以下列表中选择一个网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。
本网站使用cookies改善您的用户体验,个性化内容和广告,并分析网站流量。如您继续使用本网站,即表示您同意我们使用cookies。请参阅我们的隐私政策以了解更多有关cookies及如何更改您的设置。