iOS-如何捕获图像:分辨率3840x2160,使用GPUImageStillCamera



我需要使用GPUImageStillCamera捕获最高分辨率的图像,我尝试过这些属性,如:AVCaptureSessionPresetPhoto、AVCaptureSession Preset1920x1080。这给了我一点好的结果。请注意,当我使用属性AVCaptureSessionPresetPhoto而不是AVCaptureSession PresetHigh捕获图像时,它(AVCaptureSessionPresetPhoto)会比AVCaptureessionPresetHigh提供更好的结果。但当我使用属性AVCaptureSessionPreset3840x2160时,意味着:

videoCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset3840x2160 cameraPosition:AVCaptureDevicePositionBack]; .

我的应用程序崩溃(即使在最新的iPhone版本中)并显示此消息(我使用的是iPhone 5 S,版本:9.3.1,Xcode版本:7.3)

由于未捕获的异常而终止应用"NSInvalidArgumentException",原因:"AVCaptureSessionPreset3840x2160不是受支持的预设。

有没有办法检查iOS设备上是否支持具体的AVCaptureSessionPreset?我想设置AVCaptureSession的分辨率,但我不知道如何检查设备是否能够使用选定的分辨率捕获相机帧简而言之,我需要所有不同iPhone设备的最高质量、最大尺寸的图像。任何建议都很好。谢谢大家。

您可以使用AVCaptureSessionsessionPreset属性,类似于下面的

  cameraSession.sessionPreset = AVCaptureSessionPresetHigh;

您也应该在代码中尝试AVCaptureSessionPresetHigh

希望这将有所帮助:)

最新更新