关闭人脸识别iOS 7 UIImagePicker

时间:2014-06-01 19:25:53

标签: ios objective-c uiimagepickercontroller

有没有办法在呈现UIImagePickerController时关闭面部识别(即出现在脸上的黄色框?

_imagePicker = [[UIImagePickerController alloc] init];
_imagePicker.allowsEditing = YES;
_imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
_imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
[self presentViewController:_imagePicker animated:NO completion:NULL];

根据这些docs,有一个键会禁用面部识别。如何设置此键以禁用它?

CIDetectorTracking
A key used to enable or disable face tracking for the detector. Use this option when you want to track faces across frames in a video

修改

我如何使用AVFoundation编写一个简单的相机?

2 个答案:

答案 0 :(得分:1)

根据UIImagePickerController的{​​{3}}。没有用于启用/禁用面部识别的API。

如果您确实要在用户拍摄图像时将其停用,建议您在documentation中使用Media Capture and Access to Camera

答案 1 :(得分:0)

<强>更新: 警告:我建议不要使用此功能,只是为了展示我设法隐藏这些框的方法,它迟早会破坏。

经过一段时间的黑客攻击后,我设法找到了包含那些小方块的子视图,并将其隐藏属性设置为YES

简单地说,在你的初始化代码的末尾,你makeKeyAndVisible,放入:

[[[[[[[[[[[[[[_imagePicker childViewControllers] objectAtIndex:0] view] subviews] objectAtIndex:0] subviews] objectAtIndex:0] subviews] objectAtIndex:0] subviews] objectAtIndex:0] subviews] objectAtIndex:0] setHidden:YES];

抱歉格式不好,我匆忙这样做,但是你明白了,同时在弄乱我发现你可以控制相机虹膜视图和其他一些功能。但这应该是你的技巧此外,这不会禁用面部检测,这意味着当用户完成选择时,你可以找出检测到多少面部特征!

我也认为这只适用于iPhone 4s及以上版本!你需要经常测试,这是我不建议在生产应用程序上使用的非常糟糕的hackery!