我已经阅读了主题
的3本书我已经完成了校准过程,校准后我得到了所有的返回参数,例如:
我运行了一个程序来获取这些数据。该程序位于OpenCV教程的“calib3d模块。摄像机校准和3D重建”部分
我将描述这个过程,我把一个固定的摄像头放在镜头前寻找地板和棋盘。我拿了15张棋盘的图片移动它,最后一张图片是棋盘在地板上,倾斜度为0º。
有几本书谈论使用这个公式将真实的单词坐标转换为像素。
Formula to get pixels from real word coordinates https://www.dropbox.com/s/o77drhopfqgqju6/Captura%20de%20pantalla%20de%202015-03-09%2010%3A44%3A52.png
平移和旋转矩阵是3行x 4列,但外部参数是15行x 6列,每张照片一个。我用了最后一排。我已经阅读并发现3个第一个cols对应于旋转系数,最后3个cols对应于平移系数但是旋转矩阵是3x3所以我使用函数 cv :: Rodrigues 将其转换为3x3,我把它放在cv :: Rodrigues返回的cv :: Mat旁边的一个col(我从学习OpenCV - O'Reilly 中读到)。
所以,我需要像素到真实世界坐标,而不是向后。因此我应用了Cramer Rule来获得X和Y,但是它返回了我的感测点,就像现实世界中的0,0像素是-4,-3一样。
我在问如何以正确的方式从像素中获取真实世界坐标。我希望很清楚