У меня есть два стереоизображения, которые я хотел бы использовать для вычисления карты глубины. К сожалению, я не знаю C/C++, но знаю python--, поэтому, когда я нашел этот урок, я был настроен оптимистично.
К сожалению, учебник выглядит несколько устаревшим. Его нужно не только настроить, чтобы он вообще запускался (переименовывая "createStereoBM" в "StereoBM"), но когда он все-таки работает, он не дает хорошего результата, даже на примерах стереоизображений, которые использовались в самом учебнике.
Вот пример:
import numpy as np
import cv2
from matplotlib import pyplot as plt
imgL = cv2.imread('Yeuna9x.png',0)
imgR = cv2.imread('SuXT483.png',0)
stereo = cv2.StereoBM(1, 16, 15)
disparity = stereo.compute(imgL, imgR)
plt.imshow(disparity,'gray')
plt.show()
Результат:
Это сильно отличается от того, чего достиг автор урока:
(источник: opencv.org)
Настройка параметров не улучшает ситуацию. Вся документация, которую я смог найти, относится к исходной C-версии кода openCV, а не к эквиваленту библиотеки Python. К сожалению, я не смог использовать это для улучшения ситуации.
Любая помощь будет оценена!