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

#c #opencv #camera-calibration #stereoscopy

#c #opencv #калибровка камеры #стереоскопия

Вопрос:

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

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

Мой код совсем не особенный, и я перепробовал множество вариантов параметров стерео (гб) 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);
 

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

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

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

Комментарии:

1. Ваше правое изображение находится слева, а левое — справа! Вы должны поменять их местами