我正在开发一个Android应用程序,它需要解码包含qr代码的灰度图像。我一直在尝试将zxing与android集成。对于rgb色标图像,它工作正常。
对于rgb图像字节数组我已经使用此代码构建了binarybitmap。
RGBLuminanceSource source = new RGBLuminanceSource(width, height, data);
BinaryBitmap Binary_bitmap = new BinaryBitmap(new HybridBinarizer(source));
但是对于灰度图像,我不知道如何构建二进制位图。
答案 0 :(得分:0)
我只是在没有RGB的情况下使用LuminanceSource
。虽然我使用的是缓冲图像,但对于灰度图像效果很好。那就是LuminanceSource source = new BufferedImageLuminanceSource(grayscaleImg);
如果您需要将垫子转换为缓冲图像,请执行以下操作:
BufferedImage gray = new BufferedImage(mat.width(), mat.height(), BufferedImage.TYPE_BYTE_GRAY);
byte[] data = ((DataBufferByte) gray.getRaster().getDataBuffer()).getData();
mat.get(0, 0, data);