如何评估二维码的质量/正确性? (如何获取定量和定性二维码特征)

问题描述 投票:0回答:2

我需要评估和比较QR码生成库,并寻找逻辑参数来测量和比较输出。

我为什么需要这个?似乎当我给两个不同的 QR 生成器相同的输入时,似乎会生成不同的输出,而我作为一个人无法分辨哪一个是正确的。

我所说的正确是指我的输入编码/表示了多少“QR”数据,或者可以通过廉价手机(更大的块)读取。

在处理每个字节介于 0x7f(十进制 127)或 A0(十进制 160)之间的二进制数据时尤其如此,有时在处理 0 到 0x20(十进制 32)之间的值时更是如此

上述有问题的区域恰好也与 ISO IEC 8859 1 字符集的无效或不可打印字符相关,因此库可能将我的输入读取为一个字符串,或将其编码为 2 字节 UTF -16 个字符,谁知道呢!

如果有人知道我应该查看二维码的哪些方面的详细信息,或者更好的是,有一个显示二维码诊断数据的应用程序,那就完美了。

debugging encoding qr-code zxing iso-8859-1
2个回答
14
投票

比 zxing 具有更多调试输出的 QR 解码器是 http://qrlogo.kaarposoft.dk/qrdecode.html

根据其作者的说法,使用的软件是纯JavaScript,因此它可以在您自己的浏览器中运行。

启用调试输出的 QR 码解码示例(PNG 由 http://www.qrcode-monkey.de/ 编码):

left=2 right=22 top=2 bottom=22
size=21
matchVersion version=1 finder0=64 finder1=64 finder2=64
matchVersion version=1 timing0=1 timing1=1 alignment=1
matchVersion version=1 format_NW =9 0 format_NESW =9 1 format = 9 ecl = 1 mask = 1
matchVersion version=1 grades(F(V)TAF): 4444->4
findModuleSize version=1 grade=4 error_correction_level=1 mask=1
getCodewords mask=1 length=26
getCodewords = 64,55,70,86,194,0,216,32,80,246,228,98,160,0,236,17,236,17,236,237,167,185,237,199,28,244
setBlocks n_blocks_first=1 n_blocks_second=0 n_blocks=1 n_block_words_first=19 n_block_words_second=0 n_block_ec_words=7 total=26
setBlocks block 0 (26): 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25
RS calculateSyndroms: No errors
correctErrors in = 64,55,70,86,194,0,216,32,80,246,228,98,160,0,236,17,236,17,236,237,167,185,237,199,28,244
correctErrors out = 64,55,70,86,194,0,216,32,80,246,228,98,160,0,236,17,236,17,236
error_grade=4
extractData bytes in (19) = 64,55,70,86,194,0,216,32,80,246,228,98,160,0,236,17,236,17,236
extractData mode = 4
extract charcount = 3
extractData mode = 2
extractAlphanum charcount = 1
extractData mode = 1
extractNumeric charcount = 10
extractData mode = 0
extractData data(14) = 116,101,108,58,49,50,51,52,53,54,55,56,57,48

注意:嵌入的数据是

tel:1234567890


2
投票

我会使用像 ZXing 这样的服务 - http://zxing.org/w/decode.jspx

您可以向其提供二维码 - 通过上传或指向 URL。

它将为您提供一些诊断信息,包括已编码的原始字节

Raw bytes   

44 76 d6 16 96 c7 46 f3   a7 26 56 36 97 06 96 56
e7 44 06 57 86 16 d7 06   c6 52 e6 36 f6 d3 f6 36
33 d6 f7 46 86 57 24 06   57 86 16 d7 06 c6 52 e6
36 f6 d2 67 37 56 26 a6   56 37 43 d6 86 56 c6 c6
f2 66 26 f6 47 93 d7 96   f0 ec 11 ec 

如果您不想信任随机网站,它是开源,因此您可以在本地运行它。

© www.soinside.com 2019 - 2024. All rights reserved.