То, что я до сих пор делал, это калибровка камеры и извлечение из нее карты глубины.
Есть проблема в карте глубины. Точки соответствия сдвинуты, и я не знаю почему.
Мой код совсем не особенный, и я попробовал много вариантов параметров стерео (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 минимальный диспарат может быть равен нулю, но я получаю лучшие результаты (еще хуже), если я использую отрицательные значения.
Вот изображение (только один пример):
Мои входные изображения (слева, справа, переназначены слева, переназначены справа):
Задача ещё не решена.