在我的应用程序中,我正在使用zxing库对存储在Android设备上的QR代码图像进行解码。我想知道如何将位图转换为二进制图像以进行解码。我已经找到类似的问题,但没有一个能够解决我的问题。请帮忙。
请查看项目代码,但是在androidtest/
下。有一个名为RGBLuminanceSource
的类可以实现这个功能。
以下是正确的方式:
int width = bitmap.getWidth(), height = bitmap.getHeight();
int[] pixels = new int[width * height];
bitmap.getPixels(pixels, 0, width, 0, 0, width, height);
bitmap.recycle();
bitmap = null;
RGBLuminanceSource source = new RGBLuminanceSource(width, height, pixels);
BinaryBitmap bBitmap = new BinaryBitmap(new HybridBinarizer(source));
BinaryBitmap binaryBitmap=new BinaryBitmap(new HybridBinarizer(new RGBLuminanceSource(bitmap));