加载中 ...
2011-01-30_相机标定的原理与意义及OpenCV、Matlab实现差异小结(word)
图4 左相机的标定图像
图5 右相机的标定图像
3) 在工具箱中通过Extract grid corners提取每幅标定图像的特征点(即黑方格与白方格的交点)。
4) 举行单目的定,获得左右相机的内外参数以及畸变系数,并将参数生存到Calib_Results_left和Calib_Results_right两个mat花样的文件中。
3.Matlab标定效果与OpenCV标定效果的比力与剖析
Matlab标定效果:
通过上节的步骤(1)-(4),可以获得如图6和7所示的左右相机的内参数、畸变系数效果。
图6 左相机的内参数和畸变系数
图7 右相机的内参数和畸变系数
对于左右相机由于透镜畸变造成的误差使用工具箱中的visualize_distortions功效举行剖析,可以获得左相机的畸变图,如8、9、10所示,响应的右相机畸变图,如11、12、13所示。
图8 左相机镜头畸变图
图9 左相机径向畸变图
图10 左相机切向畸变图
对于图8到10,图中的0点即为左相机光学中央,图中的箭头显示相机图像的畸变偏向。图8左相机整体畸变模子中,该相机的左侧畸变不显着,若物体的图像在此则不易受畸变因素影响造成线条的弯曲;图9左相机径向畸变模子中,该相机的畸变系数由中央向外增大,即物体的图像越靠近图像边缘,其线条的弯曲水平就越大;图10左相机切向畸变模子中,箭头偏向显示该相机切向畸变的增大偏向,在相机的左侧其切向畸变与径向畸变的偏向相反,使得整体畸变模子中,相机左侧的畸变较小。
图11 右相机镜头畸变图
图12 右相机径向畸变图
图13 右相机切向畸变图
对于图11到13,图中的0点与左相机相同,即为右相机光学中央,图中的箭头显示相机图像的畸变偏向。图11右相机整体畸变模子中,该相机的中心及偏左侧畸变不显着,若物体的图像在此则不易受畸变因素影响造成线条的弯曲;图12右相机径向畸变模子中,该相机的畸变系数由中央向外增大,但右相机比左相机在光轴中央四周有更大的区域畸变很小,因此位于右侧相机光学中央的图像,其线条因受畸变造成的弯曲很小;图13右相机切向畸变模子中,箭头偏向显示该相机切向畸变的增大偏向,在相机的左侧其切向畸变与径向畸变的偏向相反,使得整体畸变模子中,位于右相机图像左侧的线条受畸变影响较小。
OpenCV标定效果:
在此枚举的OpenCV标定效果是我双目视觉标定且优化后的效果,与Matlab的会有差异。
左侧相机的内参数矩阵:
(9)
右侧相机的内参数矩阵:
(10)
该式(9)-(10)与式(1)相对应。而Matlab中的cc对应于式(1)中的相机光轴中央在图像平面的投影坐标,fc即为式(1)中的和。
至此,解说完了OpenCV与Matlab所对应的相机标定内参数矩阵的寄义。
OpenCV与Matlab标定中的差异:
OpenCV的标定参数中,对于镜头畸变接纳的要领是Brown博士在71年揭晓的文章中提到的;而Matlab中的镜头畸变参数接纳基于Heikkil博士提出的要领,将非线性滋扰因素引入到内外参数的求解历程。
Heikkil接纳的矩阵来表现以上的两种畸变系数。凭据Brown的非线性模子,和表现镜头的径向畸变系数,通常只使用两项,只是针对即便较大的镜头(例如鱼眼镜头,其余情形下该系数值为0),而和表现切向畸变系数,由式(11)和式(12)求解该矩阵,本文的畸变系数求解陪同在相机标定历程中。
(11)
其中,是像平面上的任一点坐标值,是举行径向畸变矫正后的坐标值,是作为光学中央畸变为0的点举行泰勒级数
手机软件开发ERP系统
“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与
我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同
其观点或证实其内容的真实性。
热门文章
分享到微信朋友圈
×
打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。
使用“扫一扫”即可将网页分享至朋友圈。