c++ - 通过从Opencv中的一个正方形检测到的4个点计算俯仰,横滚和偏航

标签 c++ opencv opencv3.1

我有一个像这样的矩形图片:

但是之后,我像这样从相机拍摄了一张照片:



我通过approxPolyDP检测到矩形的4个角。
我检测到的点是这些值:

308,25
38,99
147,477
412,466

现在如何通过这4点计算俯仰,横滚和偏航?

最佳答案

参见How to calculate perspective transform for OpenCV from rotation angles?。您将不得不从该解决方案中倒退。

使用getPerspectiveTransform轻松获得转换矩阵。从该矩阵算出俯仰,横滚和偏航将解决此处写入的单个旋转矩阵中的 Angular :各个Euler角的http://planning.cs.uiuc.edu/node102.html

关于c++ - 通过从Opencv中的一个正方形检测到的4个点计算俯仰,横滚和偏航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60138100/

相关文章:

c++ - 预处理器#if 语句的工具/解析器?

c++ - 返回泛型函数中对象的引用(具有指针或非指针属性)

c++ - 是否可以为 perforce (p4api) 定义自定义分配器?

c++ - 带有 FFMpeg 的 OpenCV 2.4.7 支持使用 VS 2010 (x86) 构建

c++ - 使用 OpenCV 和 Qt 打开视频时出错

python - 如何在Python中使用OpenCV检测和绘制轮廓?

java - OpenCV 3.1 中的 Imgproc.copyMakeBorder?

c++ - 以二进制形式保存文本文件

python - 如何使用cv2.FileStorage

python-3.x - 调用 cv2.findContours() 时出现 "ValueError: not enough values to unpack"