检测肖像图像中的头发?

Ewa*_*wan 12 opencv image-manipulation image-processing

在简单的肖像图像中检测和移除人的头发的最佳方法是什么?任何有用的算法库?我一直在关注openCV,看起来它可能有些用处

mpe*_*kov 11

你在这里遇到两个不同的问题:

  1. 检测肖像中的脸部是否有头发
  2. "去掉"头发

第一个是相当容易解决的:

  • 将脸部与背景分开(正如您所提到的"简单的肖像图像",这应该不会太难).
  • 将图像转换为Y'CbCr色彩空间
  • 无论种族如何,人体皮肤的色度值范围都相当窄.查看本文了解详情.
  • 上述方法将帮助您将面部皮肤区域与非皮肤区域分开
  • 假设非皮肤区域由头发组成.请注意,面部毛发也会被挑选为非皮肤区域.

至于第二个问题,你需要通过"删除"来明确说明你的意思:

  • 你只是剪掉了有头发的肖像部分吗?在这种情况下,该解决方案直接来自上述检测方法.
  • 你是想让它看起来像是没有头发的人(例如秃头,刮胡子?)在这种情况下,事情会变得更加困难 - 这就是为什么专业的照片操纵者得到报酬的原因.


Agn*_*kas 10

我认为这是一个难题 - 在这种情况下考虑检测和去除头发: 在此输入图像描述

我发现了几篇论文,也许他们会帮助你:

干杯!