如何在python opencv中计算出来自单应性矩阵大于0度的角度的正确平移?



假设在两个图像之间旋转 180 度,即使从技术上讲,旋转后的平移应该接近于零。我从cv2.findhomgraphy函数获得的翻译使用来自两个180度旋转图像的点与图像大小相差甚远。有没有一种数学方法来估计基于旋转的正确平移向量 (tx,ty(

另外,尺度是否会影响单应性矩阵的翻译值

同形异义词围绕原点旋转图像;即(0, 0(---不是图像的中心。这意味着,如果您首先平移图像,使图像的中心位于 (0, 0(,然后应用旋转同形异构,它将围绕中心旋转。然后你可以翻译回来。由于同形异义词组成,您可以为此生成一个单应性,它只是这三个操作的组合---平移、旋转、回移。

我之前写过一个非常深入的答案,涉及"应用同形异义词后如何找到图像的边界"(所以它比这个问题更笼统(,你可以在这里查看。此外,这个问题促使 GitHub 存储库的代码完全做到这一点,你可以在这里查看。

最新更新