面部分割在android中

时间:2013-08-12 08:49:48

标签: android eclipse image image-processing

民间, 我正在制作一个Android应用程序,其中不得不将脸部与头发和环境环境分开。我做了一些研究。使用圆形裁剪不会那么有效,因为它不会从图片中有效地面对,因为我会丢失一些细节。我希望我能在Android中完成这个吗?是否有为此目的而制作的源代码?或任何提供此功能的开源库?我想可能是我必须通过图像分割,如果我需要它准确完成?即便如此,我还不确定android如何处理图像分割。不是一个非常计算密集的?如果你们人们通过他们的权衡讨论可能性,我将不胜感激。我想做的就是从图片中提取脸部,以便我可以玩它!

1 个答案:

答案 0 :(得分:0)

现有的库可以为您处理这类事情,即openCV(请参阅参考资料)。

简而言之,有几种不同的方法可以进行人脸检测。这实际上取决于你想要实现的目标。我过去使用主成分分析(即:特征向量分解)来找到面部的中心,以及它的对齐方式(即:面向相机时向左或向右倾斜的人),因此可以提取面部并沿xy平面标准化。这种方法被认为是相对有效的,并且需要O(n^2)时间来计算(其中n是图像中的像素数),所以不要指望这些方法在CPU上变得容易。

如果您想确定眼睛的位置,确定该人是否在微笑等,可以使用其他更复杂的方法。

下面是一个完整的示例,说明您使用相当常见的图像处理库在C中使用的确切要求。祝你好运!


修改 有关使用javaCV的Java中的示例,请参阅参考文献[2]。

<强>参考文献:


  1. http://opencv.willowgarage.com/wiki/FaceDetection
  2. http://tkgospodinov.com/computer-vision-face-detection-in-java-with-opencv-using-javacv/