我正在实现一个 QR 码生成算法,如 thonky.com 中所述我正在尝试了解其中一种情况:
如 this page 所述,在得到整个代码中暗模块的百分比后,我应该取最接近的两个五的倍数(例如 45 和 50 为 48% ),但如果百分比是 5 的倍数呢?例如 45.0?应该取什么数字? 45? 40 和 50? 45 和 40? 45 岁和 50 岁?完全不同的东西?我在任何地方都找不到任何答案......
非常感谢您的帮助!
最佳答案
事实上,Thonky 教程在这方面并不清楚,所以让我们转向官方标准(在 ISO 的付费专区后面,但 easy to find online)。第 8.8.2 节,第 52 页,表 24:
Evaluation condition: 50 ± (5 × k)% to 50 ± (5 × (k + 1))%
Points: N₄ × k
这里,N₄ = 10,并且
k is the rating of the deviation of the proportion of dark modules in the symbol from 50% in steps of 5%.
因此对于恰好 45% 的深色模块,您的 k = 1,导致 10 分的惩罚。
另请注意,如果您弄错了,这并不重要。因为掩码模式标识符是在格式字符串中编码的,所以即使您不小心选择了稍微次优的掩码模式,阅读器仍然可以解码 QR 码。
关于c++ - 二维码生成算法数据屏蔽实现案例分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57345979/