улучшение определения цвета кожи с оценкой гистограммы

это моя попытка определить цвет кожи с помощью opencv2 после прочтения этого крутого учебник.

  1. смирись с хааром
  2. использовать двумерную гистограмму ROI лица (оттенок и насыщенность) для моделирования цвета кожи, calcHist
  3. используйте эту модель для оценки нового изображения с помощью calcBackProject
  4. применить фильтры dilate, erode, blur к маске результата.

в лучшем случае это: введите здесь описание изображения

но нет фона и света (только рассеянный солнечный свет в комнате)

в других случаях я получаю действительно худший результат, много шума на фоне, пальцы рук черные или зашумлены и т.д. и когда я пытаюсь получить маску 0-1 для маски только для кожи ... окончательный результат не так хорош.

возможно, я могу применить другие фильтры, такие как порог, или другой метод (какие-то другие методы кластеризации или методы заполнения? Я искал floodfill, но у меня нет отправной точки) или объединить несколько гистограмм (например, гистограмму rgb).. но как?

все виды мозгового штурма приветствуются.


person nkint    schedule 15.03.2012    source источник


Ответы (1)


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

person cyberdecker    schedule 16.03.2012
comment
я знаю эту ссылку. я думаю, что это действительно плохой подход, он основан на фиксированном диапазоне и может быть действительно обусловлен, например, светом. - person nkint; 20.03.2012