코드를 보지 않고 말하기는 어렵지만 내 추측으로는 사용자가 설정하지 않았다는 것입니다. 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);
});
}
감사합니다. 그게 효과가 – Jason
야! 대답을 수락하는 것을 잊지 마십시오. 더 많은 포인트를 얻으면 더 많은 것을 얻을 수 있습니다 ... rep 창녀가되기 위해 무엇을 얻을 수 있습니까? 잊었다. :-) –