openCV Карта глубины от двух калиброванных камер, образующих стереоскопическую систему

Мне нужна помощь в продолжении моего кода с использованием библиотеки openCV, чтобы найти значения глубины объектов, видимых в камерах.

Я уже сделал калибровку и нашел карту диспаити, я не могу найти четкую справку о том, как рассчитать значения глубины каждого пикселя, видимого на двух фотографиях, сделанных камерами.

Может кто-нибудь мне помочь? Спасибо


person Rita M    schedule 24.08.2012    source источник


Ответы (2)


Вот ссылка на вашу проблему, включая простой алгоритм оценки глубины: http://www.epixea.com/research/multi-view-coding-thesisse13.html

person Seçkin Savaşçı    schedule 24.08.2012
comment
большое спасибо, но моя проблема в том, что я хочу продолжить код, который я использовал для калибровки. Я использовал код, предоставленный: blog.martinperis.com/ 2011/01/ и я достиг последнего шага, но я понятия не имею, что это такое: d = pointRightImage.X - pointLeftImage.X; Так что, может быть, у кого-то может быть более простой способ рассчитать глубину в openCV... - person Rita M; 24.08.2012
comment
Я не думаю, что сообщение в блоге, на которое вы ссылаетесь, будет больше полезно на этом этапе. Кстати, если вы работаете над компьютерным зрением, не пугайтесь математических объяснений, потому что вам нужно учиться и получать математическое представление о том, что вы делаете. - person Seçkin Savaşçı; 24.08.2012
comment
Да, я согласен, я думаю, в этом моя проблема, если бы я математически знал, что он имел в виду под d = pointRightImage.X - pointLeftImage.X, я мог бы создать свой собственный код. Большое спасибо за совет, наверное, я над этим поработаю - person Rita M; 24.08.2012

Вы можете использовать эту формулу для расчета 3D-координат облака точек:

Z = fB/D
X = (col-w/2)*Z/f
Y = (h/2-row)*Z/f

где X, Y, Z — мировые координаты, f — фокусное расстояние камеры в пикселях после калибровки, B — базовая линия или расстояние между камерами, D — диспаратность; col, row представляют собой координаты столбца и строки пикселя изображения с размерами h, w.

Однако, если вам удалось откалибровать камеры и получить карту несоответствий, вы уже должны это знать. Калибровка и расчет карты несоответствий — задача на порядок более сложная, чем вышеупомянутые расчеты.

person Vlad    schedule 26.02.2014