gpt4 book ai didi

ios - 如何为高分辨率静止图像和低分辨率(视频)预览配置 AVCaptureSession?

转载 作者:可可西里 更新时间:2023-11-01 04:50:28 26 4
gpt4 key购买 nike

我想使用 AVCaptureSession 捕捉高分辨率静止图像。因此 AVCaptureSession 预设设置为 Photo

到目前为止,它运行良好。在 iPhone 4 上,最终静态图像分辨率最大为 2448x3264 像素,预览(视频)分辨率为 852x640 像素。

现在,由于分析预览帧以检测场景中的对象,我想降低它们的分辨率。如何才能做到这一点?我尝试将具有较低宽度/高度的 AVVideoSettings 设置为 AVCaptureVideoDataOutput,但这会导致以下错误消息:

AVCaptureVideoDataOutput setVideoSettings:] - videoSettings dictionary contains one or more unsupported (ignored) keys: (AVVideoHeightKey, AVVideoWidthKey

所以这似乎不是配置 AVCaptureVideoDataOutput/AVCaptureVideoDataOutputSampleBufferDelegate 接收的预览帧大小的正确方法。您知道如何配置预览帧的分辨率吗?

欢迎任何建议,谢谢。

最佳答案

如果您想手动指定设置,您需要在AVCaptureDevice 上设置activeFormat。这会将 session 预设隐式设置为 AVCaptureSessionPresetInputPriority

activeFormat 采用 AVCaptureDeviceFormat,但您只能从 AVCaptureDevice.formats 列表中采用一个。您需要浏览列表并找到适合您需求的列表。具体来说,检查 highResolutionStillImageDimensions 是否足够高以实现所需的静态捕获和 formatDescription(需要使用 CMFormatDescription* 函数进行检查,例如 CMVideoFormatDescriptionGetDimensions)匹配您想要的预览设置。

关于ios - 如何为高分辨率静止图像和低分辨率(视频)预览配置 AVCaptureSession?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35938015/

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