OpenCV: путаница по поводу решенияPNP - PullRequest
0 голосов
/ 14 ноября 2018

У меня небольшая путаница в отношении использования функции solvePnP в OpenCV.

У меня есть матрица для внутренних параметров камеры, и я определил некоторые ключевые точки на изображении, и я пытаюсь оценитьвнешние параметры для калибровки.

Документация для solvePnP гласит:

cv2.solvePnP(objectPoints, imagePoints, cameraMatrix, 
distCoeffs[, rvec[, tvec[, useExtrinsicGuess[, flags]]]]) → retval, rvec, tvec

Я предполагаю, что мои imagePoints параметры являются ключевыми точками, которые я обнаружил.и эти arte указаны в пикселях как (x1, y1), (x2, y2), (x3, y3).

. Я полностью запутался в объектных точках.Итак, документация гласит:

objectPoints – Array of object points in the object coordinate space,
3xN/Nx3 1-channel or 1xN/Nx1 3-channel, where N is the number of points.
vector<Point3f> can be also passed here.

Как я могу сгенерировать эти точки объекта из точек моего изображения?Что это значит, когда они говорят, что здесь координатное пространство объекта?

1 Ответ

0 голосов
/ 14 ноября 2018

Метод cv2.solvePnP() обычно используется при оценке позы, или, другими словами, его можно использовать для оценки ориентации трехмерного объекта в 2D-изображении.Поэтому для этого вам нужно пометить некоторые ключевые точки в 3D-модели объекта (objectPoints), а также определить эти ключевые точки в 2D-изображении (imagePoints).

Вы можете обратиться к этому ответ , чтобы получить применение этой техники для оценки позы лица.

...