这些天我正在研究用于计算机视觉的 solvePnP 算法。我在这里找到了 MATLAB 中的官方 EPnP 算法https://github.com/cvlab-epfl/EPnP。
我正在通过 Python API 将官方实现的结果与 OpenCV 版本进行比较。
用这两种方法运行一个简单的例子,给我不同的 R 矩阵和 t 向量。t 向量不同,并且 R 的上面两行的符号被翻转(参见下面代码示例下的输出)。我在这里缺少什么?
谢谢!
示例 Python 代码:
import numpy as np
import cv2
cam_in = [[2445.72, 0.0, 819.29],
[0.0, 2442.39, 660.13],
[0.0, 0.0, 1.0]]
# 3p model from opencv
objPts = [[ 0. , 0. , 0. ],
[ 82.5, 0. , 0. ],
[165. , 0. , 0. ],
[247.5, 0. , 0. ],
[ 55. , 27.5, 0. …Run Code Online (Sandbox Code Playgroud)