你如何从图像中剪出一张脸?

时间:2013-10-04 04:22:10

标签: opencv computer-vision face-detection

我获得了rgb频道的图像。我只想看到这些人的脸。我该怎么办?神经网是否用于此?如果是这样,是否存在已经完成处理的神经网络的现有数据文件?

3 个答案:

答案 0 :(得分:5)

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

第一步是找到面孔。为此,请使用可用的级联对象检测器之一:Viola-Jones或LBP。 OpenCV配备了针对每个探测器进行面部检测培训的级联。

然后,这取决于获取边界框是否足够。

如果您需要更准确的信息,那么您可以:

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

答案 1 :(得分:2)

不确定您想要做什么,但您可以使用Haar分类器进行人脸检测。

从那时起,应该很容易只显示脸部。虽然在线有可用的分类器,但如果有时间,可以尝试训练自己的分类器。我之前在手,脸,眼睛上做过分类,结果令人印象深刻。

如果您需要更多有关培训分类器等方面的帮助,请在此处发表评论,我会尽力为您提供帮助。

答案 2 :(得分:1)

面向检测功能也可以在vision.CascadeObjectDetector对象的形式下在MATLAB的计算机视觉系统工具箱中使用。