iOS相机编程 - 如何在didOutputSampleBuffer回调中获得最大分辨率图像

时间:2013-02-17 06:56:53

标签: ios camera

我有这个相机App,我想在didOutputSampleBuffer回调中获得最大分辨率图像。现在我在回调中收到的所有帧都是852 x 640(我正在使用iPhone 4进行测试)。只有当我请求静态图像捕获时(通过captureStillImageAsynchronouslyFromConnection),才能得到一个 - 而且只有一个 - 帧对应于在设备的最高分辨率下捕获的实际图像 - 2592x1936。

是否有可能进行设置以便我在didOutputSampleBuffer中不断收到分辨率帧 - 2592x1936?然后我想将这些帧中的一些保存为回调中的图像,而不必通过captureStillImageAsynchronouslyFromConnection来捕获图像。

1 个答案:

答案 0 :(得分:1)

视频输出无法支持拍摄静止图像时看到的完整分辨率。查看Use Capture Outputs to Get Output from a Session中给出的表格,了解支持的分辨率列表。

如果要更改分辨率,请在相机会话中设置相应的设置,如下所示:

cameraSession.sessionPreset = AVCaptureSessionPresetHigh;

请注意,视频捕获无法AVCaptureSessionPresetPhoto