Java 用Zxing解码照片中的二维码

Java 用Zxing解码照片中的二维码,java,android,qr-code,zxing,photo,Java,Android,Qr Code,Zxing,Photo,我想用二维码解码一些照片。 我发现这个方法: public static String readQRCode(String filePath, String charset, Map hintMap) throws FileNotFoundException, IOException, NotFoundException { BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer( new

我想用二维码解码一些照片。 我发现这个方法:

public static String readQRCode(String filePath, String charset, Map hintMap) throws FileNotFoundException, IOException, NotFoundException {
    BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(
            new BufferedImageLuminanceSource(
                    ImageIO.read(new FileInputStream(filePath)))));

    Result qrCodeResult = new MultiFormatReader().decode(binaryBitmap, hintMap);
    return qrCodeResult.getText();
}
它正在处理像这样的图片。 不幸的是,它并不适用于所有图像,即:。正如你所见,它的质量很差

Error: com.google.zxing.NotFoundException

有什么想法,我能做什么吗?

你的
hintMap
@PrerakSola
String charset=“UTF-8”//或“ISO-8859-1”映射hintMap=newhashmap();hintMap.put(EncodeHintType.ERROR\u CORRECTION,ErrorCorrectionLevel.L);System.out.println(“从二维码读取的数据:+QCRH.readQRCode(filePath2,charset,hintMap))
第二张“劣质”图像似乎根本无法使用条形码扫描仪()进行扫描,即使在用白色区域遮挡背景时也是如此。它可能是ZXing()无法读取的非标准二维码格式。@MorrisonChang ye我知道,但即使是质量不好的图片,它也必须工作。。。你知道为什么这个方法在那张照片上不起作用吗?它在在线扫描器上工作,看起来通过增加屏幕上的对比度,我可以让ZXing解码。您可以在将图像传递给ZXing之前将其应用于图像,但要以性能为代价。在实时摄像机中处理对比度是另一个问题。您的
hintMap
@PrerakSola
String charset=“UTF-8”//或“ISO-8859-1”映射hintMap=newhashmap();hintMap.put(EncodeHintType.ERROR\u CORRECTION,ErrorCorrectionLevel.L);System.out.println(“从二维码读取的数据:+QCRH.readQRCode(filePath2,charset,hintMap))
第二张“劣质”图像似乎根本无法使用条形码扫描仪()进行扫描,即使在用白色区域遮挡背景时也是如此。它可能是ZXing()无法读取的非标准二维码格式。@MorrisonChang ye我知道,但即使是质量不好的图片,它也必须工作。。。你知道为什么这个方法在那张照片上不起作用吗?它在在线扫描器上工作,看起来通过增加屏幕上的对比度,我可以让ZXing解码。您可以在将图像传递给ZXing之前将其应用于图像,但要以性能为代价。在实时摄影机中处理对比度是另一个问题。