Как отличить источник света от отражения света? - PullRequest
0 голосов
/ 18 июня 2019

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

enter image description here

Я пытался перейти на другие цветовые пространства, но это не сработало. Например, cvtColor(image, gray, CV_HSV2BGR_FULL); сделал это как:

enter image description here

Однако в этот пост работает нормально. Есть ли способ сделать что-то подобное для этого изображения? Я использую OpenCV3.1 с C ++ в Windows (также неплохо бы использовать Python).

1 Ответ

1 голос
/ 18 июня 2019

В общем, отражение - это источник света. Что касается распространения света, то источником света является направление, из которого идут фотоны. Это может быть источник или отражение.

Таким образом, лучшим взглядом на проблему было бы больше думать о том, что вы пытаетесь обнаружить. В посте, на который вы ссылались, проблема гораздо проще, поскольку отражения не выдуваются (достигают максимальной яркости), в то время как источники света (или они достаточно близки). В вашем изображении из-за низкого качества захвата отражения и источники света имеют одинаковую яркость.

Чтобы подчеркнуть, почему это проблема, ваш подход является локальным. Подумайте об очень маленьком пятне (например, 3х3 пикселя) на вашем изображении. Не могли бы вы сказать, если это от отражения или нет?

Следовательно, лучше было бы подумать о формах. Вы хотите обнаружить автомобильные фары, которые кажутся круглыми, примерно одинакового размера и белого цвета.

Я бы предложил что-то вроде детектора BLOB-объектов , точно настроенного на вашу проблему, или использовать вашу технику для порогового изображения, а затем запустите CCA и измерьте круглость / размер из компонентов.

Вы также можете подумать об обрезке / заполнении городских огней черным цветом, поскольку камера кажется фиксированной.

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