Обнаружение волос в портретном изображении?

Каким будет лучший способ обнаружения и удаления волос человека в простом портретном изображении? Какие-нибудь полезные библиотеки алгоритмов? Я смотрел openCV, который выглядит так, как будто это может быть полезно

Ответы

Ответ 1

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

  • обнаружение, если лицо в портрете имеет волосы
  • "удаление" волос

Первое разрешимо довольно легко:

  • Отделите лицо от фона (как вы упоминали "простое портретное изображение", это не должно быть слишком сложно).
  • Преобразуйте изображение в цветовое пространство Y'CbCr
  • Кожа человека имеет довольно узкий диапазон значений цветности, независимо от расы. Подробнее см. этот документ.
  • Приведенный выше подход поможет вам отделить области кожи лица от областей без кожи.
  • Предположим, что участки без кожи состоят из волос. Обратите внимание, что лицевые волосы также будут подхватываться как область без кожи.

Что касается второй проблемы, вам нужно четко прояснить, что вы подразумеваете под "удалением":

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

Ответ 2

Я думаю, что это трудная проблема - рассмотрите для обнаружения и удаления волос в этом случае: enter image description here

Я нашел несколько статей, может быть, они вам помогут:

Ура!

Ответ 3

попробуйте http://betaface.com/demo.html. Цвет, информация о волосах и многое другое. улыбка, возраст, глаз и т.д.