使用zxing二维码识别

Posted routine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用zxing二维码识别相关的知识,希望对你有一定的参考价值。

1.多二维码识别 (同一张图片中多二维码识别)

  直接上代码舒服:

 1    /**
 2      * Parse multiple qr codes(解析多个二维码)
 3      *
 4      * @param bufferedImage image
 5      * @return QRCode analysis results
 6      */
 7     @Override
 8     public Result[] analysisQRCodeOfMore(BufferedImage bufferedImage) {
 9         QRCodeMultiReader qrCodeMultiReader = new QRCodeMultiReader();
10         Result[] results = null;
11         try {
12             BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(bufferedImage)));
13             Map hints = new Hashtable();
14             hints.put(EncodeHintType.CHARACTER_SET, SystemConstants.SYS_ENC);
15             hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);   //优化精度
16             hints.put(DecodeHintType.PURE_BARCODE, Boolean.TRUE); //复杂模式,开启PURE_BARCODE模式; 带图片LOGO的解码方案
17             hints.put(DecodeHintType.POSSIBLE_FORMATS,BarcodeFormat.QR_CODE);//指定识别的二维码格式
18             results = qrCodeMultiReader.decodeMultiple(binaryBitmap, hints);
19         } catch (NotFoundException e) {
20             //e.printStackTrace();
21             System.err.println("二维码识别中...");
22         }
23         return results;
24     }

注意:开启精度优化与复杂模式会消耗识别时间!

在多二维码识别中,应该说是zxing的一个小bug,在识别过程中对于模糊一点的图片,会一直抛异常 (二维码识别中...) 直至二维码识别不出来,或者二维码识别出来;此问题没来得及细细研究,等日后补充;

后续分享单二维码识别,敬请期待!!!

 

以上是关于使用zxing二维码识别的主要内容,如果未能解决你的问题,请参考以下文章

Android二维码工具zxing使用

Zxing QR扫描仪onActivityResult未在片段中调用[重复]

Python调用Tesseract-OCR和Zxing完成图片OCR识别和二维码解码

zxing的使用及优化

Atitit zxing二维码qr码识别解析

Python zxing 库解析(条形码二维码识别)