2014-05-20 26 views
1

我一直在研究苹果CoreImage库来检测脸部,到目前为止我已经成功了,我能够检测脸部。iOS如何仅检测前脸?

我真正想要的是稍后将该图像发送到服务器进行人脸识别。但对于识别面,必须是前置摄像头。问题是CoreImage即使在侧面也会检测到脸部,这并不好。

我得到的元数据对象

if([metadataObject.type isEqualToString:AVMetadataObjectTypeFace]) 

,但我无法找到如果该人在侧视。有没有简单的办法,像一些财产,或一些类,因为我似乎无法找到它。

回答

2

它看起来像你可以只检查检测左眼和右眼的:

for (CIFaceFeature *f in features) 
{ 
    NSLog(NSStringFromRect(f.bounds)); 

    if (f.hasLeftEyePosition) 
     NSLog("Left eye %g %g", f.leftEyePosition.x. f.leftEyePosition.y); 

    if (f.hasRightEyePosition) 
     NSLog("Right eye %g %g", f.rightEyePosition.x. f.rightEyePosition.y); 

    if (f.hasmouthPosition) 
     NSLog("Mouth %g %g", f.mouthPosition.x. f.mouthPosition.y); 
} 

代码片段从here

以前我用的OpenCV(您可以在iOS应用程序中嵌入) ,它有frontal face haar cascades pre-trained