Получение сдвинутой карты глубины от StereoSGBM

То, что я до сих пор делал, это калибровка камеры и извлечение из нее карты глубины.

Есть проблема в карте глубины. Точки соответствия сдвинуты, и я не знаю почему.

Мой код совсем не особенный, и я попробовал много вариантов параметров стерео (gb) bm.

StereoSGBM sgbm;
sgbm.numberOfDisparities = 5*16;
sgbm.SADWindowSize = 5;
// sgbm.disp.... and so on

remap(left, rleft, rmap[0][0], rmap[0][1], CV_INTER_LINEAR);
remap(right, rright, rmap[1][0], rmap[1][1], CV_INTER_LINEAR);

sgbm(rleft, rright, disparity);

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

Вот изображение (только один пример):
сдвиг в глубину карты

Мои входные изображения (слева, справа, переназначены слева, переназначены справа):
левый, правый, переназначенный влево, переназначенный вправо

1

Решение

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

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


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