什么是cv2.solvePnP方法标志的Python常量?

Joh*_*ohn 2 python opencv

我需要使用CV_P3P solvePnP方法,但似乎没有任何关于C++标志的python等价文档,它们是CV_ITERATIVE,CV_P3P和CV_EPNP.我试过cv2.CV_P3P,cv2.P3P,cv2.cv.P3P等.

我发现了一些问题,包括:

http://opencv-users.1802565.n2.nabble.com/solvePNP-name-of-flag-constants-in-Python-td7484093.html

http://answers.opencv.org/question/8861/what-opencv-constants-are-available/

但是没有答案,除了这个源页面的链接,它定义了python常量.但似乎没有提到我正在寻找的常数. https://github.com/Itseez/opencv/blob/e3ae36dcb3c1d523802f8642e5c3984db43637c4/modules/python/src2/defs

我也尝试过为该参数传递整数,但它似乎仍然使用默认方法.

是否有可能在opencv的python版本中不存在其他解决方法?

小智 12

我发现以下常量有效:

cv2.SOLVEPNP_ITERATIVE

cv2.SOLVEPNP_P3P

cv2.SOLVEPNP_EPNP

cv2.SOLVEPNP_DLS

例如:

retval, orvec, otvec = cv2.solvePnP(object_points, image_points, 
            camera_matrix, None, None, None, False, cv2.SOLVEPNP_ITERATIVE)
Run Code Online (Sandbox Code Playgroud)