iPhone 5相机上的绿色框

时间:2013-01-29 13:02:26

标签: objective-c cocos2d-iphone

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

face detection

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

这是我用于UIImagePickerController的代码段:
我在我的.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];
    }
}

1 个答案:

答案 0 :(得分:0)

查看this post

他的问题反过来了,我确定你是否调整了功能检测器的设置,你可以关闭它,如果它不可转动,只是尝试以镜像模式或上行运行它向下模式,它将无法检测到面孔,并且似乎是“关闭”

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

这是我找到的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];

抱歉格式不好,我赶时间这样做,但是你明白了,同时在弄乱的时候我发现你可以控制Camera Iris视图和其他一些功能。但这应该是你的伎俩 此外,这不会禁用面部检测,这意味着当用户完成选择时,您可以找出检测到的面部特征的数量!

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