Android Zxing相机和预览帧格式(YUV、RGB…)

Android Zxing相机和预览帧格式(YUV、RGB…),android,image-processing,android-camera,zxing,yuv,Android,Image Processing,Android Camera,Zxing,Yuv,我正在使用Zxing API解码一些二维码图像。 我需要将YUV格式转换为->RGB格式,以便在其他应用程序中使用 我知道相机缓冲区在NV21格式(YUV)下返回一个字节[],但它是哪一个 我是否获得YUV420格式?还是一种YUV422格式 如果是,如何将此格式转换为RGB888格式?我需要什么 在此之前将YUV转换为YUV888 谢谢你抽出时间 编辑: 我不了解的一件事是YUV420预览帧中字节[]的长度。对于1280*720分辨率,我得到1382400.00字节。它是如何计算的?NV2

我正在使用Zxing API解码一些二维码图像。 我需要将YUV格式转换为->RGB格式,以便在其他应用程序中使用

我知道相机缓冲区在NV21格式(YUV)下返回一个字节[],但它是哪一个

  • 我是否获得YUV420格式?还是一种YUV422格式
  • 如果是,如何将此格式转换为RGB888格式?我需要什么 在此之前将YUV转换为YUV888
谢谢你抽出时间

编辑:
我不了解的一件事是YUV420预览帧中字节[]的长度。对于1280*720分辨率,我得到1382400.00字节。它是如何计算的?

NV21基本上是YUV420。您可以直接转换:

虽然公认的答案是正确的,但值得指出的是,ZXing库包括,它封装了此转换,并且可以限制解码器逐行访问数据时的峰值内存使用

哦,如果我只想要RGB格式,我必须在维基百科转换后删除alpha像素?是的,完全忽略它。那里的代码只是将第四个
0xFF
字节放在上面,它已经隐式存在于RGB888中。好的,我们将尝试。但你确定是YUV420吗?我明白为什么1280*720的分辨率会有1382400字节。你知道它是如何计算的吗?那是921600像素,所以Y的921600字节。U和V都是2x2的子采样,所以每个都只有字节数的1/4。所以U和V都是230400字节。这三个加起来是1382400。非常感谢您的澄清