2012-06-19 1 views
0

a tutorial from iTunes U 다음에 얼굴 인식을 수행하는 방법이 있습니다.이 자습서는 비디오에서만 제공되며 온라인으로 작성되지는 않으므로 직접 링크를 게시 할 수 없습니다. 근본적으로, 나는 전화가 LandscapeLeft 모드에있는 경우에만 작동하도록 얼굴 인식을 얻었습니다.CIFaceFeature는 LandscapeLeft에서만 작동합니다

왜 그렇게 작동하는지에 대한 아이디어가 있습니까?

답변

4

코드를 보지 않고 말하기는 어렵지만 내 추측으로는 사용자가 설정하지 않았다는 것입니다. CIDetectorImageOrientation? 이미지 방향과 검출기 방향이 일치하지 않을 때 감지에 실패했습니다.

아래 코드 중 일부는 잘라 내지 않고 거친 예제를 더합니다.

- (void)detectFacialFeatures:(UIImage *)image withHighAccuracy:(BOOL) highAccuracy 
{ 

CIImage* ciImage = [CIImage imageWithCGImage:sourceImage.CGImage]; 

if (ciImage == nil){ 
    printf("ugh \n"); 
    // bail 
} 

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

    NSString *accuracy = highAccuracy ? CIDetectorAccuracyHigh : CIDetectorAccuracyLow; 

    NSDictionary* options = [NSDictionary dictionaryWithObjectsAndKeys: 
          CIDetectorAccuracyHigh, CIDetectorAccuracy, 
          orientation, CIDetectorImageOrientation, 
          nil]; 

    CIDetector* detector = [CIDetector detectorOfType:CIDetectorTypeFace 
               context:nil options:options]; 

    NSArray *features = [detector featuresInImage:ciImage]; 

    NSLog(@"features %@", features); 

}); 
} 
+0

감사합니다. 그게 효과가 – Jason

+0

야! 대답을 수락하는 것을 잊지 마십시오. 더 많은 포인트를 얻으면 더 많은 것을 얻을 수 있습니다 ... rep 창녀가되기 위해 무엇을 얻을 수 있습니까? 잊었다. :-) –