我正在使用AVCaptureVideoPreviewLayer
捕捉视频并显示实时预览。在此期间,我希望能够捕捉到完整质量的静止图像。因此,我大部分都遵循this tutorial。
如果我将会话预设设置为AVCaptureSessionPresetPhoto
,我只会获得一个720x960的输出图像,而不是完整的后置摄像头分辨率1280x720。但是,如果我明确设置AVCaptureSessionPreset1280x720
,我将获得完整的分辨率。在iPhone 5上,我始终使用AVCaptureSessionPresetPhoto
(3264x2448)获得完整分辨率。我真的必须做if iPad2 do this, else do that
还是我错过了一些选项?
AVCaptureStillImageOutput格式设置为默认值(JPEG压缩),但如果我使用未压缩的BGRA(setOutputSettings
与包含kCVPixelBufferPixelFormatTypeKey => kCVPixelFormatType_32BGRA
的字典),则会发生同样的情况。
答案 0 :(得分:0)
您正以正确的分辨率获取图像
iPad2有一个960x720相机,如果你使用AVCaptureSessionPresetPhoto
预设,你将获得该分辨率。
强制AVCaptureSessionPreset1280x720
预设你告诉iOS使用视频录制预设,实际上可以达到更高的分辨率(这是一台HD 720p相机 - 1280x720)。