gpt4 book ai didi

ios - UIImagePickerController 禁用 iPhone 4S 人脸检测 (iOS 5.1)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:24:22 26 4
gpt4 key购买 nike

我目前正在开发一个 iPhone 应用程序,它使用带有自定义叠加层的 UIImagePickerController 来拍照。

不幸的是,我无法直接访问 iPhone 4S,但一些测试人员报告说相机选择器在人脸周围绘制了一个绿色边框,就像这样:http://cdn.iphonehacks.com/wp-content/uploads/2012/03/camera_faces.jpg

由于此应用的性质,这是不可取的。

彻底搜索 UIImagePickerController 文档没有找到任何结果,同样,我在这里可以找到的与人脸检测相关的所有内容都提供了有关如何使用 CIDetector 或类似工具的说明。

如何在我的 UIImagePickerController 中禁用人脸检测?

这是我的 UIImagePickerController 初始化代码:

UIImagePickerController *cameraPicker = [[UIImagePickerController alloc] init];

[cameraPicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[cameraPicker setCameraDevice:UIImagePickerControllerCameraDeviceRear];
if ([UIImagePickerController isFlashAvailableForCameraDevice:cameraPicker.cameraDevice]){
[cameraPicker setCameraFlashMode:UIImagePickerControllerCameraFlashModeOn];
}
[cameraPicker setShowsCameraControls:NO];
[cameraPicker setCameraOverlayView:cameraOverlayView];

cameraPicker.delegate = self;
[self presentModalViewController:cameraPicker animated:YES];

最佳答案

试试这个 -->

假设我们有一个名为 - RecordVideoViewController 的 UIViewController

实现 -- RecordVideoViewController.h

#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>
#import <MobileCoreServices/UTCoreTypes.h>
#import <AssetsLibrary/AssetsLibrary.h>
@interface RecordVideoViewController : UIViewController
- (IBAction)recordAndPlay:(id)sender;

-(BOOL)startCameraControllerFromViewController:(UIViewController*)controllerusingDelegate:
(id)delegate;

-(void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error
contextInfo(void*)contextInfo;
@end

实现 -- RecordVideoViewController.m

- (IBAction)recordAndPlay:(id)sender {

[self startCameraControllerFromViewController:self usingDelegate:self];

}

-(BOOL)startCameraControllerFromViewController:(UIViewController*)controller
usingDelegate:(id )delegate
{
// 1 - Validattions
if (([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] ==
NO)
|| (delegate == nil)
|| (controller == nil)) {
return NO;
}
// 2 - Get image picker
UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init];
cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera;
// Displays a control that allows the user to choose movie capture
cameraUI.mediaTypes = [[NSArray alloc] initWithObjects:(NSString *)kUTTypeMovie, nil];
// Hides the controls for moving & scaling pictures, or for
// trimming movies. To instead show the controls, use YES.
cameraUI.allowsEditing = NO;
cameraUI.delegate = delegate;
// 3 - Display image picker
[controller presentViewController:cameraUI animated:YES completion:nil];
return YES;
}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:
(NSDictionary *)info {
NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
[self dismissViewControllerAnimated:YES completion:nil];
// Handle a movie capture
if (CFStringCompare ((__bridge_retained CFStringRef) mediaType, kUTTypeMovie, 0) ==
kCFCompareEqualTo) {
NSString *moviePath = [[info objectForKey:UIImagePickerControllerMediaURL] path];

if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(moviePath)) {
UISaveVideoAtPathToSavedPhotosAlbum(moviePath,
self,@selector(video:didFinishSavingWithError:contextInfo:),nil);
}
}
}

-(void)video:(NSString*)videoPath didFinishSavingWithError:(NSError*)error contextInfo:
(void*)contextInfo {
if (error) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Video Saving
Failed"
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
} else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Video Saved" message:@"Saved To
Photo Album" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
}

实现这段代码吧,我希望这对你有帮助。

关于ios - UIImagePickerController 禁用 iPhone 4S 人脸检测 (iOS 5.1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12315260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com