Применение алгоритма согласования блоков Konolige недостаточно объяснено в документации OpenCV. Параметры CvStereoBMState влияют на точность несоответствий, вычисленных cv:: StereoBM. Однако эти параметры не документированы. Я перечислить эти параметры ниже и описать, что я понимаю. Может быть, кто-то может добавить описание параметров, которые неясны.
- preFilterType: определяет, какой фильтр применяется к изображению до того, как будут вычислены различия. Может быть CV_STEREO_BM_XSOBEL (фильтр Собеля) или CV_STEREO_BM_NORMALIZED_RESPONSE (может быть, разница между средней интенсивностью).
- preFilterSize: размер окна префильтра (ширина = высота окна, отрицательное значение)
- preFilterCap: Записывает вывод в [-preFilterCap, preFilterCap]. Что происходит со значениями за пределами интервала?
- SADWindowSize: размер сравниваемых окон слева и справа, где суммы абсолютных разностей вычисляются для поиска соответствующих пикселей.
- minDisparity: Наименьшее несоответствие, которое принимается во внимание. Значение по умолчанию равно нулю, должно быть установлено отрицательное значение, если возможны отрицательные различия (зависит от угла между видами камер и расстоянием измеряемого объекта до камер).
- numberOfDisparities: диапазон поиска несоответствий [minDisparity, minDisparity + numberOfDisparities].
- textureThreshold: Рассчитать несоответствие только в местах, где текстура больше (или, по крайней мере, равна?) этого порога. Как определяется текстура??? Отклонение в окружающем окне.
- uniquenessRatio: цитируется из calib3d.hpp: "принять вычисленное несоответствие d * только если SAD (d) >= SAD (d *) (1 + уникальностьRatio/100.) для любого d!= d +/- 1 в поиске диапазон".
- speckleRange: Не уверен.
- trySmallerWindows:
- roi1, roi2: рассчитать диспропорции только в этих регионах??? Неуверенный.
- speckleWindowSize: не уверен.
- disp12MaxDiff: не уверен, но комментарий в calib3d.hpp говорит, что выполняется проверка влево-вправо. Угадайте: пиксели сопоставляются с левым изображением на правильное изображение и с правого изображения обратно на левое изображение. Различия действительны только в том случае, если расстояние между исходным левым пикселем и обратным пикселем меньше, чем disp12MaxDiff.