【发布时间】:2016-06-26 13:38:04
【问题描述】:
我想使用AVCaptureSession 捕捉高分辨率静止图像。因此AVCaptureSession预设设置为Photo。
到目前为止,这运行良好。在 iPhone 4 上,最终静止图像的最大分辨率为 2448x3264 像素,预览(视频)分辨率为 852x640 像素。
现在,由于会分析预览帧以检测场景中的对象,因此我想降低它们的分辨率。如何才能做到这一点?
我尝试将宽度/高度较低的AVVideoSettings 设置为AVCaptureVideoDataOutput,但这会导致以下错误消息:
AVCaptureVideoDataOutput setVideoSettings:] - videoSettings dictionary contains one or more unsupported (ignored) keys: (AVVideoHeightKey, AVVideoWidthKey
因此,这似乎不是配置AVCaptureVideoDataOutput / AVCaptureVideoDataOutputSampleBufferDelegate 接收的预览帧大小的正确方法。您知道如何配置预览帧的分辨率吗?
欢迎任何建议, 谢谢。
【问题讨论】:
-
您可以从缓冲区获取图像并将图像大小调整到不会影响检测对象的程度。
-
感谢您的提示。我已经尝试过了,但是将原始数据转换为 CV 库(处理场景中的对象检测的库)支持的格式的性能也相当 CPU/内存密集。所以我首选的方法是告诉 iOS 减少预览帧的数据。
标签: ios camera avfoundation avcapturesession