zxing QRCodeReader中的ChecksumException当不读取带有URL的QR码时
如果我使用URL扫描QR码,以下代码完美且快速地工作。但是,如果我用一个简单的字符串或数字序列(这是我想要做的)来解码QR码,它有时会随机工作,但有99%的时间会因为ChecksumException而失败。zxing QRCodeReader中的ChecksumException当不读取带有URL的QR码时
if (webcam.isOpen()) {
if ((image = webcam.getImage()) == null) {
continue;
}
LuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
try {
result = new QRCodeReader().decode(bitmap);
} catch (NotFoundException e) {
//exception handling omitted
} catch (ChecksumException ex) {
//exception handling omitted
} catch (FormatException ex) {
//exception handling omitted
}
}
有没有人遇到过这个?什么可能是解决方案?
顺便说一句我正在与http://goqr.me/
这个问题实际上有点误导。数字序列失败的简单qr码的原因是它们的模式较大,因为代码包含的信息较少。 URL QR码具有更多信息,因此具有更高的分辨率和更小的“模式”。问题的根源在于,我正在测试的摄像头对焦点问题(或色差,我不知道)非常敏感,所以低分辨率的QR码必须远离摄像头才能被读取以便读取正确的,比URL的QR码...这个问题是唯一与我的发展个人电脑的华硕摄像头,我尝试过的所有其他摄像头基本与我所有的测试QR码一起工作。
ChecksumException
生成所述代码通常意味着它开始正确解码,但是QR码的编码是无效的。这可能表明QR码的创建方式存在问题,特别是如果它一直发生。
但是您链接到这里的QR码看起来不错,因为它解码罚款:
http://zxing.org/w/decode?u=http%3A%2F%2Fapi.qrserver.com%2Fv1%2Fcreate-qr-code%2F%3Fdata%3D12345%26size%3D250x250 http://zxing.org/w/decode?u=http%3A%2F%2Fgoqrme.remotefile.net%2Fimg%2Fact%2Fqrcode_generator%2Fqr_default.png
它还与条码扫描仪扫描瞬间。两者都来自zxing。
我不知道你是否翻转图像 - 或者不是翻动网络摄像机通常给你的翻转图像。
例如,该代码失败:http://api.qrserver.com/v1/create-qr-code/?data=12345&size=250x250 – Peter
您是否完成了它? – Salmaan