我们将字符串117355|1.3,-0.6|1.68,1.25|2.95,-0.6|1.68,1.25
编码为QR码。我们一直在使用在线发电机。发电机产生了两种变化,如下所示:
这个可以通过我们的应用轻松解码。
这个返回ChecksumException
使用第三方扫描应用程序时,两者都可以正常扫描,但是,我们在应用程序中使用ZXING库,而不是使用视频源,而是使用静止图像,所以一次尝试,这是因为这是更广泛的图像处理工作流程。
我说的原因"两种格式"是由于每个QR码的部分根据此不同。我们有不同的字符串,每当我们有" 3点"在它右上方的注册标记下扫描,当我们不扫描时,扫描是不可靠的。
以下是代码的阅读部分:
QRCodeReader reader;
try {
reader = new QRCodeReader();
Map<DecodeHintType, Object> tmpHintsMap = new EnumMap<DecodeHintType, Object>(DecodeHintType.class);
tmpHintsMap.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);
BinaryBitmap img = new BinaryBitmap(new HybridBinarizer(
new GreyscaleLuminanceSource(greyscaleHalf, w, h)));
Result scanResult = reader.decode(img, tmpHintsMap);
return scanResult;
} catch (ChecksumException e) {
e.printStackTrace();
mError = "The QR Code could not be decoded";
} catch (NotFoundException e) {
mError = "The QR Code could not be found";
e.printStackTrace();
} catch (FormatException e) {
mError = "The QR Code Format";
e.printStackTrace();
}
return null;
正如您所看到的,我已经尝试了DecodeHintType.TRY_HARDER
选项,但这没有用。我们正在使用3.2.0,最近我尝试使用3.2.1。
我们已经打印了22,000个这样的标签,我需要找到一个解决方案来可靠地进行扫描。