如何使用 camera2 获得 2 个输出 capturesession
How to get 2 outputs capturesession with camera2
我正在开发一个 Android 应用程序来使用 camera2 捕捉快照并绘制与实时拍摄的照片相关的图表。
是否可以将捕获结果检索为 SurfaceView
(以便显示)和 RGB 以便计算绘制图形的点?
相机硬件一般不支持原生RGB格式,只支持YUV。
您可以使用:
- 作为附加输出的 ImageReader,采用 ImageFormat#YUV_420_888 格式,并在 Java 或本机代码中自行转换为 RGB
- 使用 RenderScript YUV 分配作为附加目标并在 RenderScript 中转换为 RGB
- 或者您可以使用 SurfaceTexture 输出到 GPU,然后使用 glReadPixels 读回 RGB 数据,或者直接在 GL 着色器中为您的图表做必要的processing/drawing。
我正在开发一个 Android 应用程序来使用 camera2 捕捉快照并绘制与实时拍摄的照片相关的图表。
是否可以将捕获结果检索为 SurfaceView
(以便显示)和 RGB 以便计算绘制图形的点?
相机硬件一般不支持原生RGB格式,只支持YUV。
您可以使用:
- 作为附加输出的 ImageReader,采用 ImageFormat#YUV_420_888 格式,并在 Java 或本机代码中自行转换为 RGB
- 使用 RenderScript YUV 分配作为附加目标并在 RenderScript 中转换为 RGB
- 或者您可以使用 SurfaceTexture 输出到 GPU,然后使用 glReadPixels 读回 RGB 数据,或者直接在 GL 着色器中为您的图表做必要的processing/drawing。