Я совершенно новичок в методах калибровки камеры... Я использую технику шахматной доски OpenCV... Я использую веб-камеру из Quantum...
Вот мои наблюдения и шаги.
- Я сохранил каждую квадратную сторону шахмат = 3,5 см. Это шахматная доска размером 7 х 5 с внутренними углами 6 х 4. Я принимаю в общей сложности 10 изображений в разных представлениях/позициях на расстоянии от 1 до 1,5 м от веб-камеры.
-
Я следую C-коду в Обучение OpenCV Bradski для калибровки. мой код для калибровки
cvCalibrateCamera2(object_points,image_points,point_counts,cvSize(640,480),intrinsic_matrix,distortion_coeffs,NULL,NULL,CV_CALIB_FIX_ASPECT_RATIO);
-
Перед вызовом этой функции я делаю первый и второй элементы по диагонали внутренней матрицы, чтобы поддерживать постоянство отношения фокусных расстояний и используя
CV_CALIB_FIX_ASPECT_RATIO
-
С изменением расстояния до шахматной доски
fx
иfy
меняются сfx:fy
, почти равным 1. Существуют значенияcx
иcy
в порядке от 200 до 400.fx
иfy
находятся в порядке 300 - 700, когда я изменяю расстояние. -
В настоящее время я положил все коэффициенты искажения в ноль, потому что я не получил хороший результат, включая коэффициенты искажения. Мое оригинальное изображение выглядело красивым, чем неискаженное!
Я правильно делаю калибровку?. Должен ли я использовать любой другой вариант, чем CV_CALIB_FIX_ASPECT_RATIO
?. Если да, то какой?