我收到了一张图片视图
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *mediaType = info[UIImagePickerControllerMediaType];
[self dismissViewControllerAnimated:YES completion:nil];
if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {
UIImage *image = info[UIImagePickerControllerOriginalImage];
//imgvprofileImage.image = image;
//[self detectForFacesInUIImage:[UIImage imageNamed:@"image00.jpg"]];
[self detectForFacesInUIImage:image];
}
else if ([mediaType isEqualToString:(NSString *)kUTTypeMovie])
{
// Code here to support video if enabled
}
}
Run Code Online (Sandbox Code Playgroud)
当我发这样的照片时
[self detectForFacesInUIImage:[UIImage imageNamed:@"image00.jpg"]];
Run Code Online (Sandbox Code Playgroud)
检测效果很好并找到一张脸但是当我使用从相机返回的图像时它不起作用.
[self detectForFacesInUIImage:image]
Run Code Online (Sandbox Code Playgroud)
这是我用来检测脸部的功能
-(void)detectForFacesInUIImage:(UIImage *)facePicture
{
CIImage* image = [CIImage imageWithCGImage:facePicture.CGImage];
CIDetector* detector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:[NSDictionary dictionaryWithObject:CIDetectorAccuracyLow forKey:CIDetectorAccuracy]];
NSArray* features = [detector featuresInImage:image];
if (features.count == …Run Code Online (Sandbox Code Playgroud) 可能这听起来像是一个愚蠢的,但我真的很想知道,iOS视角中的"人脸检测和人脸识别"有什么区别?在什么情况下,我应该使用其中两种情况.我是iOS的新手,从未有过任何关于iOS人脸检测/识别相关事情的关键经验.我要做一个应用程序,我必须检测用户脸(通过相机,而不是拍照后)与数据库图片集合.请给你回复,请不要误解我的问题.Ø:)
- 谢谢你的进步.
想要从我们的应用程序中仅提供方形照片捕获选项.现在使用下面的代码,它在捕获后给出方形裁剪选项.但希望它完全像默认的相机方形选项.此外,我们不想显示除正方形以外的任何内容.
以下是我们使用的代码.
UIImagePickerController *controller = [[UIImagePickerController alloc] init];
controller.sourceType = UIImagePickerControllerSourceTypeCamera;
controller.allowsEditing = YES;
controller.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
// controller.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType: UIImagePickerControllerSourceTypeCamera];
controller.delegate = self;
[self.navigationController presentViewController: controller animated: YES completion: nil];Run Code Online (Sandbox Code Playgroud)
附了屏幕截图
这是我们的应用程序

我们希望它是这样的.

我有一个在Xamarin开发的iOS应用程序.当应用程序无权访问麦克风时,如果用户尝试从应用程序访问麦克风,我会检查设置AVAudioSession.SharedInstance().RequestRecordPermission (delegate(bool granted))并显示消息.
如果应用程序没有访问摄像头的权限,我现在需要这样做.我需要检查是否为相机授予了权限并相应地显示消息.我怎样才能做到这一点?
我正在制作一个实现从相机拍照并从库中选择照片.
使用ELCImagePickerController从库中拍摄照片并在scrollview中设置图像.
我想要做的是从相机拍摄几张图像并在同一滚动视图上设置它.
目前我的实施是:
- (IBAction)takePhoto:(UIButton *)sender {
UIImagePickerController *cameraPicker = [[UIImagePickerController alloc] init];
cameraPicker.delegate = self;
cameraPicker.allowsEditing = YES;
cameraPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:cameraPicker animated:YES completion:NULL];
}
- (void)imagePickerController:(UIImagePickerController *)photoPicker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[photoPicker dismissViewControllerAnimated:YES completion:NULL];
UIImage *image=[info objectForKey:UIImagePickerControllerEditedImage];
UIImageView *imageview = [[UIImageView alloc] initWithImage:image];
[imageview setContentMode:UIViewContentModeScaleAspectFit];
[self.scrollView addSubview:imageview];
[self dismissModalViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)
有了这个,我每次只能拍一张照片,当我再次设置它时,它会替换另一张照片.我该怎么办?以及我如何做到这一点?
我在想,如果有可能多添加AVCaptureVideoDataOutput到AVCaptureSession一个单一的相机设备的输入?
我的实验索引,添加一秒VideoDataOutput将导致canAddOutput返回NO.但我在Apple的文档中找不到任何地方说多个数据输出是不允许的.
我想通过点击按钮打开相机,但无法在iOS包中添加相机和图库权限。
我有这些钥匙:
NSPhotoLibraryUsageDescription
NSCameraUsageDescription
NSMicrophoneUsageDescription
Run Code Online (Sandbox Code Playgroud)
我不知道应该把这些线放在哪里。
iOS 提供使用 iPhone 深度摄像头(特别是前置 TrueDepth 摄像头和后置人像模式摄像头)获取的图像的镜头畸变信息。这些镜头畸变系数存储在AVCameraCalibrationData类的lensDistortionLookupTable实例中。该查找表有 42 个值,并且 Apple 文档和 中清楚地解释了该查找表的解释AVCameraCalibrationData.h。
Lens Distortion Coefficients我观察到捕获的 HEIC 文件的 EXIF 字段中还有一组 8 个系数。我还没有找到这些系数的任何文档,也无法理解它们。我尝试假设它们是多项式系数(如此处所述)或将它们用作OpenCV 相机校准模型中的系数,但无济于事。谁能阐明如何使用这些系数?
编辑:旧的苹果开发者论坛帖子中的一个诱人的提示,但不足以得到答案。
HEIF 文件中存储的镜头畸变系数与lensDistortionLookupTable 不同。它们是存储生成查找表所需的数据的更紧凑的方式。
我尝试在 Iphone X(14.71 iOS 版本)上播放 S3 存储中的视频,但收到以下错误:
2021-10-10 00:43:02.134221+0200 Runner[2045:114048] [VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: PlatformException(VideoError, Failed to load video: Cannot Open, null, null)
Run Code Online (Sandbox Code Playgroud)
视频已成功上传到 S3,但我无法根据 URL 运行它。
URL 似乎是正确的,因为 Android 设备上未出现此问题。
我还尝试了https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4视频,该视频似乎可以在 iOS 上运行。
由于某种原因,我的手机拍摄的S3上传的视频无法播放。
以下是 pubspec.yaml 中的 video_player 版本:
video_player: 0.2.5
颤动版本:2.6.0-11.0.pre
颤振通道:dev channel
amazon-s3 ios-camera flutter aws-amplify flutter-dependencies
我正在尝试使用swift制作应用程序,我想使用前置摄像头.我使用AVFoundation并尝试了一些代码.但我无法设置前置缩放参数.可能吗?对于后置摄像头,一切都运作成功.
我不想使用仿射变换.因为,它可以降低图像质量.那么,我该如何以编程方式设置此参数?
谢谢.
ios-camera ×10
ios ×9
camera ×3
flutter ×2
iphone ×2
objective-c ×2
amazon-s3 ×1
avfoundation ×1
aws-amplify ×1
opencv ×1
swift ×1
uiimage ×1
xamarin ×1
xamarin.ios ×1