Ответ 1
Здесь вы имеете дело с двумя различными проблемами:
- обнаружение, если лицо в портрете имеет волосы
- "удаление" волос
Первое разрешимо довольно легко:
- Отделите лицо от фона (как вы упоминали "простое портретное изображение", это не должно быть слишком сложно).
- Преобразуйте изображение в цветовое пространство Y'CbCr
- Кожа человека имеет довольно узкий диапазон значений цветности, независимо от расы. Подробнее см. этот документ.
- Приведенный выше подход поможет вам отделить области кожи лица от областей без кожи.
- Предположим, что участки без кожи состоят из волос. Обратите внимание, что лицевые волосы также будут подхватываться как область без кожи.
Что касается второй проблемы, вам нужно четко прояснить, что вы подразумеваете под "удалением":
- Вы просто вырезаете часть портрета с волосами? В этом случае решение следует непосредственно из метода обнаружения выше.
- Вы пытаетесь сделать так, чтобы у человека вообще не было волос (например, лысый, выбритый?) В этом случае все будет намного сложнее - есть причина, по которой профессиональные фотоманипуляторы получают хорошую зарплату.