【问题标题】:Android Camera2 API MediaRecoder how to capture image (not stream nor file)Android Camera2 API MediaRecoder 如何捕获图像(不是流也不是文件)
【发布时间】:2016-01-28 09:00:14
【问题描述】:

我正在尝试为 android 6.0 平台开发行车记录仪应用程序。这个应用程序可以记录从相机捕获的视频并保存为 mp4 文件。 在保存过程中,我希望应用程序也能用图像一张一张地捕捉图像我可以用opencv做一些图像分析,比如找到车道边缘或者测试我的车前是否有东西等等。

我研究了示例应用程序 Camera2Video,现在我可以让我的应用程序保存从相机捕获的视频 mp4 文件。

我的下一步是让我的应用知道从相机捕获的每个图像何时准备就绪,或者 MediaRecorder 何时获取单个图像,以便我可以为后续过程拍摄该图像。

我的问题是,如何配置侦听器或任何可以让我的应用知道从相机捕获的每张图像何时准备就绪?

【问题讨论】:

    标签: android image api video-capture camera2


    【解决方案1】:

    在您的捕获会话创建过程中,从ImageReader(或者如果您想要基于 GPU 的处理,或者从基于 RenderScript 的处理的分配中的 SurfaceTexture)添加额外的输出 Surface。然后,对于您的记录请求,也将 ImageReader 表面作为目标。

    您可以制作此流的最大分辨率取决于相机设备的功能; LEGACY 级别的设备无法真正做到这一点,但在 RECORD、RECORD 和 PREVIEW 分辨率下具有 3 个输出,其他任何事情都可以。

    然后为 ImageReader 创建一个侦听器,并使用 onImageAvailable 回调在帧进入时对其进行处理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      相关资源
      最近更新 更多