我正在测试新的 Camera2 API,并且能够以 YUV_420_888
格式捕获相机预览。接下来我需要做的是将这些数据提供给图像处理库,该库接受 byte[]
参数。
我找到了 converting YUV_420_888
to RGB 的示例等等,但我仍然需要通过 ByteArrayOutputStream
将生成的位图转换为 byte[]
,经过实验,这会极大地减慢应用程序的速度。
我的问题是,如何有效地将 YUV_420_888
转换为 byte[]
?
最佳答案
图像处理库想要的 byte[] 数组的实际格式是什么?是RGB吗? YUV 平面? YUV 半平面?
假设它是 RGB,假设您引用将 YUV_420_888 转换为 RGB,您可以修改该示例以不从分配创建位图 - 只需使用 Allocation.copyTo用 byte[] 而不是 Bitmap。
关于java - 将 YUV_420_888 转换为字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38949579/