如何使用camera2获得2个输出capturesession

时间:2015-06-05 10:17:30

标签: android surfaceview rgb

我正在开发一款Android应用程序,使用camera2捕捉快照,并绘制与实时拍摄的照片相关的图形。

是否可以将捕获结果检索为SurfaceView(以便显示)和RGB以便计算绘制图形的点?

1 个答案:

答案 0 :(得分:0)

相机硬件本身通常不支持RGB格式,只支持YUV。

您可以使用:

  • ImageReader作为附加输出,使用ImageFormat#YUV_420_888格式,并以Java或本机代码自行转换为RGB
  • 使用RenderScript YUV分配作为附加目标并在RenderScript中转换为RGB
  • 或者您可以将SurfaceTexture输出用于GPU,然后使用glReadPixels读回RGB数据,或者直接在GL着色器中对图形进行必要的处理/绘制。