#c #video #opencv #light
#c #Видео #opencv #свет
Вопрос:
Я пытаюсь обнаружить руки, и мой алгоритм отлично работает днем, но ночью он полностью выходит из строя — он не показывает никаких признаков работы вообще.
Я пришел к выводу, что это связано с более низкими условиями освещения.
Может кто-нибудь, пожалуйста, дать мне советы по повышению производительности в условиях низкой освещенности?
Мой алгоритм просто использует cvInRangeS для поиска пикселей цвета кожи в изображении HSV.
Подойдет любой совет, независимо от того, насколько мало он поможет.
Спасибо
Ответ №1:
Вы сначала нормализовали ввод? Какое среднее V
значение днем и ночью? Тем не менее, ваш датчик будет RGB, а преобразование из RGB в HSV теряет довольно много точности в компонентах H и S, когда R, G и B низкие. В экстремумах: {0,1,0} довольно близко к {1,0,0}, но оттенок совершенно другой.
Комментарии:
1. Что такое нормализация ввода? Не могли бы вы подробнее остановиться на этом? Поскольку я понятия не имею, что это такое или как это реализовать, а также я понимаю, что преобразование теряет точность, но моему алгоритму для работы требуется изображение HSV. Так что использование RGB не вариант.
2. @Farhad Yusufali : Видишь en.wikipedia.org/wiki/Normalization_ (обработка изображений)
Ответ №2:
cv::equalizeHist — это, вероятно, то, что вам нужно для нормализации / выравнивания. Что касается подбора цвета — вы удаляете V-компонент вашего изображения, чтобы правильно подобрать цвет? Вы также можете попробовать YCbCr, который, как было показано, даже лучше, чем HSV, с точки зрения разницы в освещенности.