java将YUV_420_888转换为字节数组
我正在测试新的Camera2API,并且能够以YUV_420_888
格式捕获相机预览。接下来我需要做的是将这些数据提供给图像处理库,该库接受一个byte[]
参数
我已经找到了converting ^{ByteArrayOutputStream
将生成的位图转换为byte[]
,这在实验之后会大大降低应用程序的速度
我的问题是,如何有效地将YUV_420_888
转换为byte[]
你可以在下面搜索框中键入要查询的问题!
我正在测试新的Camera2API,并且能够以YUV_420_888
格式捕获相机预览。接下来我需要做的是将这些数据提供给图像处理库,该库接受一个byte[]
参数
我已经找到了converting ^{ByteArrayOutputStream
将生成的位图转换为byte[]
,这在实验之后会大大降低应用程序的速度
我的问题是,如何有效地将YUV_420_888
转换为byte[]
# 1 楼答案
图像处理库需要的字节[]数组的实际格式是什么?是RGB吗?是吗?YUV半平面
假设它是RGB,假设您引用了将YUV_420_888转换为RGB,您可以修改该示例以不从分配创建位图-只需使用带字节[]的Allocation.copyTo而不是位图
# 2 楼答案
我花了很多时间寻找解决方案,所以我从stackoverflow上其他人的回答中找到了它,我想分享我的自定义代码,它已经针对循环编号进行了优化,它与我一起工作,用于camera2 API:D的YUV420图像