C++ QR码生成算法数据掩蔽实现案例分析

C++ QR码生成算法数据掩蔽实现案例分析,c++,algorithm,qr-code,C++,Algorithm,Qr Code,我正在实施一个QR码生成算法,如上所述,我试图了解其中一种情况: 如上所述,在从整个代码中获得暗模块的百分比后,我应该取两个最接近的5的倍数(例如45和50代表48%),但是如果百分比是5的倍数呢?例如45.0?应该采用什么数字?45? 40和50?45和40?45和50?完全不同的东西?我在任何地方都找不到答案 非常感谢您的帮助 事实上,Thonky教程在这方面并不清楚,所以让我们转向官方标准(在ISO but的付费墙后面)。第8.8.2节,第52页,表24: 评价条件:50±(5×k)%至5

我正在实施一个QR码生成算法,如上所述,我试图了解其中一种情况:

如上所述,在从整个代码中获得暗模块的百分比后,我应该取两个最接近的5的倍数(例如45和50代表48%),但是如果百分比是5的倍数呢?例如45.0?应该采用什么数字?45? 40和50?45和40?45和50?完全不同的东西?我在任何地方都找不到答案


非常感谢您的帮助

事实上,Thonky教程在这方面并不清楚,所以让我们转向官方标准(在ISO but的付费墙后面)。第8.8.2节,第52页,表24:

评价条件:50±(5×k)%至50±(5×k+1))%
点数:N₄ ×k

这里,N₄ = 10,及

k是符号中暗模块比例偏离50%的额定值,步长为5%

因此,对于45%的暗模块,k=1,将导致10分的惩罚

还要注意的是,如果你把这个稍微弄错了,这其实并不重要。因为遮罩图案标识符是以格式字符串编码的,所以即使您意外地选择了一个稍微次优的遮罩图案,阅读器仍然可以解码QR码