两个相反视图的相机绝对姿态

Absolute Pose of Cameras for two opposite views

我正在关注 this Opencv Pose Estimation 官方教程来获取两个视图的绝对姿势,附在后面。

如您所见,在这种情况下,它们彼此完全相反,因此我很难获得绝对旋转矩阵和平移向量,因为它检测每个视图的左上角,即错误的。我希望此脚本针对两个视图都关注同一个框。 Camera1.jpg 中左上角的框将成为 Camera2.jpg 中右下角的框。我该怎么做?

早些时候我一直在使用本教程获取 R,t 用于从同一侧查看棋盘的两个相机视图,因此它可以正常工作。

Camera1.jpg

Camera2.jpg

注意:您的坐标轴颜色异常。约定俗成,X为红,Y为绿,Z为蓝。

我看到两个选项。

  1. 您需要一个没有旋转对称性 的棋盘。确保 corners/steps/squares 在一个维度中的数量是奇数,而在另一个维度中是偶数。这将意味着一个合适的板,并且不会出现这种歧义。

  2. 您知道看板的两个“视图”之间的转换。它是围绕 Z 旋转 180 度并平移给定的方块数。你可以把它应用到你的相机姿势中。我发现使用 4x4 姿势矩阵最容易,而不是单独使用 rvec 和 tvec,因为姿势矩阵很容易组合(矩阵乘法,@ 中缀运算符)并且很容易反转。