Калибровка камеры (векторные точки 3f) - PullRequest
0 голосов
/ 02 апреля 2020

Привет, ребята, я пытаюсь использовать функцию калибровки камеры. Я тестирую этот пример кода, но я получаю сообщение об ошибке

"OpenCV (4.2.0) C: \ projects \ opencv-python \ opencv \ modules \ calib3d \ src \ calibration. cpp: 3343: ошибка: (-210: неподдерживаемый формат или комбинация форматов) objectPoints должен содержать вектор векторов точек типа Point3f в функции 'cv :: collectCalibrationData' ". Есть идеи?

import cv2
import numpy as np
X_center=10.9
Y_center=10.7
worldPoints=np.array([[X_center,Y_center,0],
                   [5.5,3.9,0],
                   [14.2,3.9,0],
                   [22.8,3.9,0],
                   [5.5,10.6,0],
                   [14.2,10.6,0],
                   [22.8,10.6,0],
                   [5.5,17.3,0],
                   [14.2,17.3,0],
                   [22.8,17.3,0]], dtype=np.float32)

imagePoints=np.array([[600,100],
                   [502,185],
                   [700,197],
                   [894,208],
                   [491,331],
                   [695,342],
                   [896,353],
                   [478,487],
                   [691,497],
                   [900,508]], dtype=np.float32)

print(worldPoints.shape)
print(imagePoints.shape)
print(cv2.calibrateCamera(worldPoints,imagePoints,(200,200),None,None))
...