3.5233523642607523
camera_matrix
[[976.95273119 0. 660.46033674]
[ 0. 983.93214293 265.09898857]
[ 0. 0. 1. ]]
dist
[[ 0.00786213 -1.08703858 -0.03323499 -0.00704253 3.32886628]]
rvecs
[[[-0.15258765]
[ 0.05568271]
[-0.00297466]]
[[-0.1975074 ]
[ 0.18257839]
[ 0.01421636]]
[[-0.63995505]
[ 0.01228971]
[ 0.01489291]]
[[ 0.17243489]
[ 0.10097482]
[-0.02850808]]
[[-0.16032189]
[-0.4157807 ]
[ 0.07556575]]
[[-0.0815965 ]
[ 0.57730837]
[-0.01252756]]]
tvecs
[[[-0.1267968 ]
[-0.04263508]
[ 0.31507263]]
[[-0.11701824]
[ 0.00296928]
[ 0.5963867 ]]
[[-0.1100471 ]
[-0.03971764]
[ 0.3491404 ]]
[[-0.12381456]
[-0.02769804]
[ 0.28588741]]
[[-0.10678357]
[-0.04163386]
[ 0.30308073]]
[[-0.09151737]
[-0.03837504]
[ 0.44047188]]]
Я получил 6 векторов в rvecs и tvec, поскольку использовал 6 изображений шахматной доски с разными углами наклона.
Я также понимаю, что мне нужно преобразовать эту rvec 3x1 в матрицу вращения 3x3 с помощью
# Convert rotation vector to rotation matrix
R, _ = cv2.Rodrigues(rvec)
Мой текущий проект заключается в обнаружении объекта (с использованием YOLO и одной камеры), а также расчете и отображении расстояния между камерой и объектом путем сравнения фактической длины объекта и длины в пиксельном изображении.< /p>
Вот мои вопросы:
- Как одна точка может располагаться дальше другой точки от камеры , и это приводит к уменьшению расстояния в пикселях. Чтобы оценить/вычислить более точное и точное расстояние, нужно ли мне преобразовать две точки в координатах изображения (в пикселях) в мировые координаты/координаты камеры (в м)?
- Если требуется мировая координата, какой «вектор вращения» и «вектор перемещения» из калибровки камеры мне следует использовать (или использовать их среднее значение)?
< /li>
При неискажении точек использую ли я ту же матрицу камеры для P= или мне нужно получить новую матрицу камеры с помощью «cv2.getOptimalNewCameraMatrix»?
undistorted_point = cv2.undistortPoints(np.expand_dims(pixel_coords, axis=0), K, dist, P=K)
Подробнее здесь: https://stackoverflow.com/questions/786 ... -with-chec