可以将图像覆盖在QRCode上并进行扫描,因为存在一些重新融合。
但是,如何计算我可以隐藏的模块的最大数量以及我仍然存在哪些重组?
我看到大多数人只是用photoshop调试代码并尝试使用他们的阅读器:我想动态生成QRCode并添加一些arbirtray图像,所以这种手动调整对我来说不起作用。
答案 0 :(得分:3)
从维基百科中,四个纠错级别可实现以下近似级别的纠错恢复:
Level L (Low) 7% of codewords can be restored.
Level M (Medium) 15% of codewords can be restored.
Level Q (Quartile) 25% of codewords can be restored.
Level H (High) 30% of codewords can be restored.
对于确切的数字,您需要参考QR码规范(ISO 18004)。
这比这复杂一点。例如,EC数字不适用于角落中的取景器图案。虽然你可以稍微扭曲它们,但确切地说没有硬性和快速限制。
同样,EC代码数据的某些区域未被EC覆盖,因为它们本身包含EC级别和版本信息。这些区域位于右上角和左下角的代码周围。他们有一个不同的EC计划并且有一些冗余,但是很难准确地解释你可以腐败多少。
最后,请记住,对于徽标所涵盖的任何模块,徽标的亮度/暗度与底层模块匹配的概率约为50%(具体取决于您的徽标)。所以它不会引入错误。因此,您的徽标损坏的代码字的确切数量取决于徽标和基础QR代码模块!
您最好的选择是使用H级错误纠正。然后创建一些测试QR码,逐渐增加失真。使用像zxing这样的库和调试器来检测样品由于EC限制而开始失效的点。然后退回到大小的75%。
对于几乎所有实际情况来说,这应该足够缓冲。