如何从一张图片中抠出人脸?

5

我收到了一张包含RGB通道的图像,我只想看到人脸。我该怎么做?是否可以使用神经网络来完成这个任务?如果是,是否有现成的神经网络数据文件已经处理好了?


请分享代码,如果您找到了解决方案。 - Mayur R. Amipara
3个回答

5

由于您的问题标记了OpenCV,我将假设您正在寻找这个库中的解决方案。

第一步是找到人脸。为此,请使用其中一个可用的级联对象检测器:Viola-Jones或LBP之一。OpenCV带有针对每个检测器进行人脸检测的级联。

然后,这取决于是否仅需要获取边界框

如果需要更准确的结果,则可以:

  • [粗略面部轮廓] 在面部边界框内使用肤色检测器获取更精细的面部估计,将图像二值化,最后使用形态学滤波封闭面部形状
  • [精细面部轮廓] 使用类似grabcut过程获取像素级精确的轮廓。您可以将边界框的边缘作为背景,将边界框的中心部分作为前景来初始化grabcut。

2

不太确定你想做什么,但是你可以使用Haar分类器进行面部检测。

从那时起,只显示脸部应该很容易。虽然有在线可用的分类器,但如果你有时间,可以尝试训练自己的分类器。我以前已经做过手、脸、眼睛的分类器,效果非常好。

如果你需要更多关于训练分类器等方面的帮助,请在这里留言,我会尽力协助你。


嘿,rockingfresh..我已经了解了HAAR..我需要在视频/图像中密切检测耳朵..你能指点一下我该怎么做吗..我对图像处理完全不了解。 - Lakshay Dulani

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接