Я работаю над задачей «Стереовидение» и хочу определить расстояние между камерами стереовидения и объектом. Я использую Matlab с Computer Vision System Toolbox.
Я откалибровал камеры с помощью «Camera Calibration Toolbox for Matlab», поэтому у меня есть внутренние параметры левой и правой камеры и внешние параметры (положение правой камеры относительно левой камеры). У меня также есть пара исправленных изображений и их карта несоответствия. Для оценки диспаратности я использовал функцию Matlab disparity (). Я знаю базовую линию и фокусное расстояние камер, но мои результаты все равно неверны.
baseline = 70 mm
focal length = 25 mm
disparity = 60 pixels
---------------------
depth = baseline * focal length / disparity = 70 * 25 / 60 = 29 mm
Но я знаю, что это расстояние примерно 600 мм. Эта формула верна? А как насчет единиц? mm * mm / pixel != mm
. И особенно я хотел бы использовать для расчета матрицу камеры (внутренние параметры), но я не понял, как это сделать. Буду благодарен за любой намек.