Простая коррекция камеры

В настоящее время я делаю калибровку камеры, используя изображение шахматной доски и используя следующие функции OpenCV:

cvFindChessboardCorners();
cvFindCornerSubPix();
cvCalibrateCamera2(...,intrinsic_matrix, distortion_coeffs,NULL,NULL,CV_CALIB_FIX_ASPECT_RATIO);

Затем полученные intrinsic_matrix и distortion_coeffs применяются к изображению с камеры:

initUndistortRectifyMap(intrinsic,distortion,cv::Mat(),
getOptimalNewCameraMatrix(intrinsic,distortion,...),...);
warpPerspective()

Это работает гладко здесь. Но теперь я хочу сделать более простую калибровку, где необходимо исправить только линейное трапецеидальное (означает пространственное) искажение и, возможно, вращение камеры. Нелинейные искажения, вызванные оптикой камеры, можно игнорировать.

Таким образом, в принципе, необходимо корректировать только значения поворота камеры вокруг X, Y и Z монтажного угла. Есть идеи, как это можно сделать? Нужно ли мне вычислять свои собственные intrinsic_matrix и distortion_coeffs, чтобы применить их к вышеприведенным функциям, или в OpenCV есть другие функции для исправления таких искажений?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector