Могут ли алгоритмы стерео согласования openCV (стереоБМ и стереоSGBM) работать с вертикально выпрямленными изображениями

Я использую библиотеку opencv, чтобы сделать восстановление стерео. В настоящее время я тестирую ректификацию и соответствие стерео. Я использовал функцию StereoRectify из OpenCV 2.4.9, и я сделал это работает нормально. Я использовал тестовые данные с этого сайта:
http://vision.middlebury.edu/mview/data/
Они имеют изображения вместе с матрицей камеры, матрицами вращения и перевода. Проблема в том, что StereoRectify возвращает вертикально выровненные изображения (Вертикальное стерео), поэтому эпиполярные линии расположены вертикально. Я не мог заставить стереоBM создавать хорошее изображение с несоответствием (много пробовал настраивать параметры), и я не уверен, что он может работать с вертикальным стерео.
У кого-нибудь есть подобный опыт с этим?
Есть ли способ (может быть, какой-нибудь параметр?), Чтобы стереоБМ или стереоСГБМ работали с вертикально выпрямленными изображениями?

1

Решение

В прошлый раз, когда я проверял код, ни StereoBM, ни StereoSGBM не поддерживали вертикальные стереопары (реализация предполагает горизонтальную стереопару). Однако вы можете повернуть ваши изображения на 90 градусов, чтобы они образовали горизонтальную стереопару. Затем вычислите карту диспаратности любым методом и поверните ее на 90 градусов в противоположном направлении, чтобы получить карту диспаратности для входной вертикальной стереопары.

1

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


По вопросам рекламы [email protected]