Fil*_*sen 3 iphone core-image ios7
我正在开发一个iPhone应用程序,我试图实现CIDetectorEyeBlink来检查图像中的人是否闭上眼睛.但是LeftEyeClosed和rightEyeClosed属性总是返回0/NO.
我粘贴了一些我的代码来实现.
CIImage* image = [CIImage imageWithCGImage:originalImage.CGImage];
CIDetector* detector = [CIDetector detectorOfType:CIDetectorTypeFace
context:nil options:[NSDictionary dictionaryWithObject:CIDetectorAccuracyHigh forKey:CIDetectorAccuracy]];
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], CIDetectorEyeBlink, [NSNumber numberWithBool:YES], CIDetectorSmile, nil];
NSArray* features = [detector featuresInImage:image options:options];
for(CIFaceFeature* faceObject in features)
{
NSLog(@"TEST left eyeblink: %@", faceObject.leftEyeClosed ? @"YES" : @"NO");
NSLog(@"TEST right eyeblink: %@", faceObject.rightEyeClosed ? @"YES" : @"NO");
}
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,但在尝试完本教程后,我意识到我没有添加:CIDetectorImageOrientation选项,例如:
NSDictionary *detectorOptions = @{ CIDetectorAccuracy : CIDetectorAccuracyHigh };
CIDetector *faceDetector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:detectorOptions];
NSArray *features = [faceDetector featuresInImage:[CIImage imageWithCGImage:_imageView.image.CGImage]
options:@{ CIDetectorSmile : @YES,
CIDetectorEyeBlink : @YES,
CIDetectorImageOrientation :[NSNumber numberWithInt:ORIENTATION_NUMBER] }];
Run Code Online (Sandbox Code Playgroud)
现在它工作顺利;)
| 归档时间: |
|
| 查看次数: |
3244 次 |
| 最近记录: |