使用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二维码识别的主要内容,如果未能解决你的问题,请参考以下文章
Zxing QR扫描仪onActivityResult未在片段中调用[重复]