[英]Homography decomposition of the matrix obtained in findHomography()
我已使用此代码作为基础来检测场景中的矩形目标。 我使用ORB和Flann Matcher。 我已经能够使用findHomography()
和perspectiveTransform()
函数成功绘制场景中检测到的目标的边界框。
参考图像(以上代码中的img_object
)是仅矩形目标的直视图。 现在,我的场景图像中的目标可能会向前或向后倾斜。 我想找出它倾斜的角度。 我阅读了各种文章,得出的结论是, findHomography()
返回的单应性可以分解为旋转矩阵和平移向量。 我使用了https://gist.github.com/inspirit/740979的代码, 此链接将其推荐为C ++。 这是从OpenCV的摄像机校准模块获得的Zhang SVD分解代码。 我从O'Reilly的Learning OpenCV一书中获得了有关此分解代码的完整说明。
我的问题是:
findHomography()
获得的findHomography()
作为该分解模块的输入,并期望正确的输出吗? 还是我想念的东西? 最后,我在移动平台上编码,因此我也担心性能。 如果您能指出正确的方向,我将非常高兴。
在此先感谢您的时间和答复。
张的校准程序将产生一个旋转矩阵。 这可以表示为3个(欧拉角),而不是一个。 或者,等效地(通过Rodriguez公式),作为一个单位矢量和围绕该矢量的旋转角度-即再次为三个数字。
除非您的相机和目标彼此非常小心地放置,否则没有理由期望只有一个非零的旋转角度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.