【问题标题】:Turn off face recognition iOS 7 UIImagePicker关闭人脸识别iOS 7 UIImagePicker
【发布时间】:2014-07-21 22:11:52
【问题描述】:

有没有办法在呈现 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 编写一个简单的相机?

【问题讨论】:

标签: ios objective-c uiimagepickercontroller


【解决方案1】:

根据UIImagePickerControllerdocumentation。没有用于启用/禁用人脸识别的 API。

如果你真的想在用户拍照时禁用它,我建议你在AV Foundation Programming Guide中使用Media Capture and Access to Camera

【讨论】:

  • 请查看我编辑的问题。我查看了 Apple 的示例 AVCam 项目,但对于我想做的事情来说,这似乎有点矫枉过正。我不需要捕捉视频。
【解决方案2】:

更新: 警告:我完全不建议使用它,它只是为了展示我设法隐藏这些框的方法,它迟早会坏掉。

经过一番修改后,我设法找到了包含这些小方块的子视图并将其隐藏属性设置为 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 及更高版本!您需要进行大量测试,这是非常糟糕的黑客技术,我不建议在生产应用上使用!

【讨论】:

  • 除了拒绝之外,很可能会因最轻微的 SDK 更改而崩溃。在非常列表中,您应该在每个步骤中不断验证您的对象。
  • @Rivera:是的,你是对的。这就是为什么我说它只是一种 hack,根本不应该使用它。 :)
猜你喜欢
  • 2011-07-21
  • 2010-10-31
  • 2015-06-14
  • 2018-06-28
  • 1970-01-01
  • 2023-03-22
  • 2015-08-28
相关资源
最近更新 更多