如何在Camera2中将ImageFormat.PRIVATE保存为JPEG文件?

时间:2019-03-20 04:53:13

标签: jpeg android-camera2 image-formats

当我使用YUV_420_888转换为JPEG时,它不允许保存最大分辨率,只能限制为3840x2160,所以我想尝试ImageFormat.PRIVATE 如果没有,ImageFormat.PRIVATE用于什么?

2 个答案:

答案 0 :(得分:1)

PRIVATE甚至不一定是单一格式。它在Android上用于在特定于设备的组件(例如,相机HAL和GPU驱动程序,或相机HAL和视频编码器)之间进行通信,以便这些组件可以选择一种特定的,有效的通信格式。

因此,从摄像机到GPU的PRIVATE可能与从摄像机到编码器的PRIVATE的格式不同,并且在两个Android设备之间也大不相同。

除非您确切知道设备和用例是什么,否则您将无法有意义地读取PRIVATE缓冲区。不幸的是,您需要使用YUV_420_888或JPEG之类的公共格式,或者具有供应商特定的信息。

答案 1 :(得分:0)

PRIVATE可用于记录或生成纹理以供OpenCV显示。通常,相机无需经过YUV或PRIVATE格式即可将最大分辨率捕获为JPEG。