Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 从UIImagePickerViewController进行人脸检测_Iphone_Objective C_Xcode_Uiimagepickercontroller_Face Detection - Fatal编程技术网

Iphone 从UIImagePickerViewController进行人脸检测

Iphone 从UIImagePickerViewController进行人脸检测,iphone,objective-c,xcode,uiimagepickercontroller,face-detection,Iphone,Objective C,Xcode,Uiimagepickercontroller,Face Detection,*****编辑****** 我只是在做一些测试,看看我是否遗漏了什么,结果是imgHolder.image返回null,但它正在显示一个图像。我在[void viewDidLoad]上调用这个 *****编辑****** 我正在创建一个简单的应用程序,您可以使用它拍照,然后它将图像传递给另一个视图控制器,并尝试在图像中检测您的脸。我试过使用很多教程,用谷歌搜索这个问题,但我没有找到解决办法。问题是,无论我更改代码或尝试其他图片多少次,它都不会检测到任何功能。下面列出了我尝试过的一些教程以及我的代

*****编辑******

我只是在做一些测试,看看我是否遗漏了什么,结果是imgHolder.image返回null,但它正在显示一个图像。我在[void viewDidLoad]上调用这个

*****编辑******

我正在创建一个简单的应用程序,您可以使用它拍照,然后它将图像传递给另一个视图控制器,并尝试在图像中检测您的脸。我试过使用很多教程,用谷歌搜索这个问题,但我没有找到解决办法。问题是,无论我更改代码或尝试其他图片多少次,它都不会检测到任何功能。下面列出了我尝试过的一些教程以及我的代码

CIImage* image = [CIImage imageWithCGImage:imgHolder.image.CGImage];
CIDetector* detector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:[NSDictionary dictionaryWithObject:CIDetectorAccuracyHigh forKey:CIDetectorAccuracy]];
NSDictionary *imageOptions = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:6]
                                                         forKey:CIDetectorImageOrientation];
NSArray* features = [detector featuresInImage:image options:imageOptions];
for(CIFaceFeature* feature in features)
{
    UIView* face = [[UIView alloc] initWithFrame:feature.bounds];
    [face setBackgroundColor:[[UIColor yellowColor] colorWithAlphaComponent:0.4]];
    [self.view.window addSubview:face];

    if(feature.hasLeftEyePosition)
    {
        UIView* eye = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 15, 15)];
        [eye setBackgroundColor:[[UIColor blueColor] colorWithAlphaComponent:0.2]];
        [eye setCenter:feature.leftEyePosition];
        [self.view.window addSubview:eye];
    }

    if(feature.hasRightEyePosition)
    {
        UIView* eye = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 15, 15)];
        [eye setBackgroundColor:[[UIColor redColor] colorWithAlphaComponent:0.2]];
        [eye setCenter:feature.rightEyePosition];
        [self.view.window addSubview:eye];
    }

    if(feature.hasMouthPosition)
    {
        UIView* mouth = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 15, 15)];
        [mouth setBackgroundColor:[[UIColor greenColor] colorWithAlphaComponent:0.2]];
        [mouth setCenter:feature.mouthPosition];
        [self.view.window addSubview:mouth];
    }
}
NSLog(@"%d", features.count);

您是否尝试过斯坦福iTunes U课程?Salik Sayed在AVFoundations上的课程让你辨认一张脸,然后戴上眼镜。这可能会有帮助。这是第三个星期五课程。@Douglas请检查此课程的编辑版本。我发现了更多的信息,我刚刚回答了。也许它能帮助你。