Как создать карту диспаратности?

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

Карты несоответствия, которые я нашел, представляют собой изображения в градациях серого, где более светлые оттенки серого означают меньшую глубину, а более темные оттенки серого означают большую глубину. Как перевести мой набор несоответствий в изображение в градациях серого, подобное этому? Мои расхождения очень малы, т.е. расстояние между пикселями всего два, как это перевести в значение пикселя в оттенках серого?

Должен существовать стандартный способ составления карт диспаратности, но все мои поиски пока ничего не дали.


person cherryduck    schedule 22.11.2011    source источник


Ответы (1)


Простое решение при создании карты несоответствий: наибольшее расстояние становится черным, т.е. rgb(0,0,0), а наименьшее расстояние, равное 0, становится белым, т.е. rgb(255,255,255). Если вы разделите 255 на наибольшее расстояние, вы найдете значение приращения. Наконец, просто просмотрите все несоответствия и установите для каждого значения RGB значение 255 минус несоответствие, умноженное на значение приращения. Виола, у тебя есть карта несоответствий.

Таким образом, в вашем примере кажется, что ваше самое большое расстояние составляет всего 2 пикселя (что, к сожалению, означает, что на вашей карте не будет много деталей). В любом случае 255/2 = 127,5. Это означает, что 127,5 является значением приращения. Таким образом, везде, где несоответствие равно 0, значение RGB равно 255 - (0 * 127,5) или RGB (255 255 255), везде, где несоответствие равно 1, значение RGB равно 255 - (1 * 127,5), мы округлим до 128, поэтому RGB (128 128 128) и везде, где несоответствие равно 2, значение rgb равно 255 - (2 * 127,5) или rgb (0,0,0).

Вот еще несколько ресурсов:
Как это делает MathWorks
У Джея Рамбхиа есть хороший блог, в котором объясняется, как его запрограммировать
Надеюсь, это поможет !

person MrMadsen    schedule 30.06.2015