【问题标题】:Green box on iPhone 5 cameraiPhone 5 相机上的绿框
【发布时间】:2013-01-13 01:30:15
【问题描述】:

我使用UIImagePickerController 将后置摄像头显示为背景。 一切都按预期工作,但在 iPhone 5iPhone 4s 中,我在图像中有一个绿色框,例如

我认为是人脸检测功能,但我现在不知道如何禁用它。 有什么建议吗?

这是我用于UIImagePickerController 的代码 sn-p:
我在我的 .h 文件中声明了广告 UIView

UIView *overlay;

在我的 .m 文件的 init 方法中

#define CAMERA_TRANSFORM  1.24299

UIImagePickerController *uip;

@try {
      uip = [[[UIImagePickerController alloc] init] autorelease];
      uip.sourceType = UIImagePickerControllerSourceTypeCamera;
      uip.showsCameraControls = NO;
      uip.toolbarHidden = YES;
      uip.navigationBarHidden = YES;
      uip.wantsFullScreenLayout = YES;
      uip.cameraViewTransform = CGAffineTransformScale(uip.cameraViewTransform, CAMERA_TRANSFORM, CAMERA_TRANSFORM);
}
@catch (NSException * e) {
    [uip release];
    uip = nil;
}
@finally {
    if(uip) {
        [overlay addSubview:[uip view]];
        [overlay release];
    }
}

【问题讨论】:

  • 为什么要禁用它? Apple 将其添加为看似核心的功能……用户可能会期待它,但如果它不存在,则会感​​到困惑……
  • 因为我将相机视图显示为没有其他功能的后台应用程序。也许UIImagePickerController 不是正确的控制器,最好使用AVCaptureDevice

标签: objective-c cocos2d-iphone


【解决方案1】:

看看this post

他的问题是反过来的down 模式,它将无法检测到人脸,并且似乎处于“关闭”状态

但我很确定它可以被禁用。

这是我找到的another reference 另外请务必查看class reference

更新:

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

经过一番修改后,我设法找到了包含这些小方块的子视图并将其隐藏属性设置为 YES

简单地说,在你的初始化代码的末尾,你 makeKeyAndVisible,把这个:

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

抱歉,格式不正确,我很匆忙,但你明白了,而且在搞砸的时候,我发现你可以控制相机光圈视图和其他一些功能。但这应该可以解决问题 此外,这不会禁用人脸检测,这意味着当用户完成选择后,您可以找出检测到多少人脸特征!

我也认为这只适用于 iPhone 4s 及更高版本!你需要进行大量测试,这是非常糟糕的黑客技术,我不建议在生产应用上使用!

【讨论】:

  • 感谢您的回复。我看到你发布的链接, UIImagePickerController 似乎不处理要设置的人脸检测属性。我将使用 AVCaptureDevice 更改我的实现,以将视频显示为背景
  • 你能输入代码 sn-p 吗?我会尝试更深入地查看我的手机,因为我很好奇它是如何工作的!谢谢:)
  • 当然!我用代码 sn-p 编辑了我的帖子。如果您有任何其他问题,请随时告诉:)
  • 好的设法破解它,我现在将更新我的答案:)
  • -1:这种“蛮力”方法是个糟糕的主意……这肯定会在未来的更新中中断!
猜你喜欢
  • 1970-01-01
  • 2013-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多