有一个地方没弄明白,相机的内参不就是畸变参数么?(现在明白了,可以看这篇博文:https://blog.csdn.net/sinat_16643223/article/details/115218563)相机内参包括内参矩阵和畸变参数,
这里说标定是得到相机内参和畸变参数。
https://blog.csdn.net/qq_42394915/article/details/81082743
这里给出了标定结果的解释。
https://blog.csdn.net/artista/article/details/51125560
只要获得 特征点的世界坐标(三维坐标)、2D坐标(像素坐标)、相机内参矩阵、相机畸变参数矩阵 以上四个参数即可以解得相机与标志物之间的外参(R旋转矩阵、T位置矩阵)
https://blog.csdn.net/sinat_16643223/article/details/115197899
你看我们标定后写到yaml文件的也是matrix和distortion对吧,和上面的两项是符合的。
刚刚发现《OpenCV4快速入门》里面有讲到pnp
https://blog.csdn.net/sinat_16643223/article/details/114254374
ARUCO二维码检测输入位置和旋转矩阵就是这个函数
cv::aruco::estimatePoseSingleMarkers | |
普罗米修斯里面也是用的这个函数
这个函数的参数里面四个数输入参数,我个人感觉正好和上面所说的特征点的世界坐标(三维坐标)、2D坐标(像素坐标)、相机内参矩阵、相机畸变参数矩阵四个参数相对应!!!!!
https://docs.opencv.org/master/d9/d6a/group__aruco.html
普罗米修斯里面二维码降落用到的landpad_det.cpp里面的代码,就是用的cv::aruco::estimatePoseSingleMarkers得到位置数据。
可以确定singMarkerCorner_19这个参数是像素坐标
第二个参数是二维码边长,对应现实中的坐标(之所以说二维码边长是特征点的世界坐标(三维坐标),因为他们应该默认二维码中心是原点,知道二维码边长就知道二维码四个顶点的坐标了!!!!!!不就是世界坐标了么!)
第三个参数是相机外餐
第四个参数是相机畸变参数
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)