2014-05-20 56 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