BGAQRCode-Android
BGAQRCode-Android copied to clipboard
无法识别彩色二维码
您好,我已收到您的邮件,我会尽快给您回复。
ZXingView 可更新下
rawResult = mMultiFormatReader.decodeWithState(new BinaryBitmap(new GlobalHistogramBinarizer(source))); if (rawResult == null) { rawResult = mMultiFormatReader.decodeWithState(new BinaryBitmap(new HybridBinarizer(source))); if (rawResult != null) { BGAQRCodeUtil.d("GlobalHistogramBinarizer 没识别到,HybridBinarizer 能识别到"); } }
改成 rawResult = mMultiFormatReader.decodeWithState(new BinaryBitmap(new GlobalHistogramBinarizer(source))); if (rawResult == null) { rawResult = mMultiFormatReader.decodeWithState(new BinaryBitmap(new HybridBinarizer(source))); if (rawResult != null) { BGAQRCodeUtil.d("GlobalHistogramBinarizer 没识别到,HybridBinarizer 能识别到"); }else{ rawResult = mMultiFormatReader.decodeWithState(new BinaryBitmap(new HybridBinarizer(source.invert()))); } }
rawResult = mMultiFormatReader.decodeWithState(new BinaryBitmap(new HybridBinarizer(source.invert())));加上这个可以识别彩色二维码
识别的那段代码有问题!作者有空改下吧! private Result getRawResult(Binarizer binarizer){ Result rawResult; try { rawResult = mMultiFormatReader.decodeWithState(new BinaryBitmap(binarizer)); }catch (Exception e){ rawResult = null; } return rawResult; }
rawResult = getRawResult(new GlobalHistogramBinarizer(source)); if (rawResult == null) { rawResult = getRawResult(new HybridBinarizer(source)); if (rawResult != null) { BGAQRCodeUtil.d("GlobalHistogramBinarizer 没识别到,HybridBinarizer 能识别到"); }else { rawResult = getRawResult(new HybridBinarizer(source.invert())); } }
rawResult = mMultiFormatReader.decodeWithState(new BinaryBitmap(new GlobalHistogramBinarizer(source))); 这段代码会报NotFoundException 异常 rawResult = mMultiFormatReader.decodeWithState(new BinaryBitmap(new HybridBinarizer(source))); 这段就不生效了改完识别率会提高,还能识别彩色的二维码!
是的,下载源码 按照您这样改就可以,效率还变高了
您好,我已收到您的邮件,我会尽快给您回复。