我有一个连接到相机的陀螺仪的读数,用于描述相机在3D中的方向(比如3欧拉角)。
我从这个姿势拍了一张照片(比如一架平面飞机)。在此之后,我想将图像转换为另一幅图像,就像摄像机垂直于平面本身一样。
我如何在OpenCV中做这样的事情?有人能指出我正确的方向吗?
答案 0 :(得分:0)
您可以在此处查看如何使用横向俯仰 - 偏航角计算旋转矩阵:http://planning.cs.uiuc.edu/node102.html
变换矩阵是T = [R t; 0 1](用matlab表示法) 在这里,您可以将平移作为3x1向量放在't'中,将计算出的旋转矩阵放在'R'中。
由于缺少数学信息,我假设图像的Z轴和摄像机是平行的。在这种情况下,您必须向X轴或Y轴添加90°旋转才能获得垂直视图。这是为了照顾方向。
perspectiveTransform()函数应该对此有所帮助。
查看此问题以获取代码洞察:How to calculate perspective transform for OpenCV from rotation angles?