你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
陈浩 - 曾经学物理,现在做数学
推荐来自: Joey 、圆月超人 、艺诗 、LF 、DqWong 、vczh 、浮生未半 、叶藏 、advAdder 、石佳明更多 »
李猜 - 你猜。
推荐来自: lsn648693338 、艺诗 、Joey 、LF 、吃都堵不住嘴 、浮生未半 、秋风暖暖更多 »
要回答问题请先登录或注册
论道扩大特邀范围,欢迎大家邀请自己的校友或者同事加入论道!详细列表请参考「特邀」文章。
2 个回答
陈浩 - 曾经学物理,现在做数学
推荐来自: Joey 、圆月超人 、艺诗 、LF 、DqWong 、vczh 、浮生未半 、叶藏 、advAdder 、石佳明更多 »
关于纠错码:Reed-Solomon Error Correction.
上面这个 R-S 纠错码是非常巧妙的,但也涉及一些较深的数学,这里不展开。说说最简单的纠错码,就是重复。A 为了传输信息 11001 给 B,实际传输的是 111111000000111(每个字母重复三遍)。这是必要的,因为信道(信息传输的渠道)通常是不可靠的,B 可能收到的是 110101001100110。但是 B 每次读三个字母,比如 110,其中 1 比较多,就知道第一位应该是 1,这样最后解码成 11001。这就像以前无线电通讯时,要把呼号重复几遍一样。
纠错码可以看作是信息冗余,但也是保证数据准确传输所必需的。事实上,现在我们使用的通信全部有纠错能力,因为信道不可靠,而许多通信不允许有错。可以说多亏了纠错码才有了互联网的正常运行。认为没有必要设置冗余,这实在是对通信载体太有信心了。以二维码为例,印在纸上纸张可能破损、在户外可能有污渍、手机摄像头可能聚焦有问题,这些都会造成数据损失,但是因为纠错码,信息没有损失。也多亏了纠错功能,我们得以在二维码上进行一定的艺术设计,加些广告什么的,这会遮挡一部分二维码,但不会丢失信息。
李猜 - 你猜。
推荐来自: lsn648693338 、艺诗 、Joey 、LF 、吃都堵不住嘴 、浮生未半 、秋风暖暖更多 »
1.原图。【是我的个人二维码,想来想去也就这个不算是打广告了233】
二维码尺寸是37*37,四角三个方块大小是7*7。用QQ截图的结果是317*317像素,这是基本数据,下面的所有不同方法都是按照这个数据来的。
2.缩放
以上两个面积分别是原图的56%和25%,都扫不出来。
3.截取
分别截取二维码的不同部分,我这里把整张图分割成四等份,试了一下都扫不出来。
4.涂抹
用不同的色块涂抹二维码不同部分,试了一下还是有结果的,因为图太多所以直接放结论。
色块尺寸按照二维码的格数来算的话分别是7*7(用于遮住四角的色块)和23*10(用于遮住同一边两个色块之间的部分)。结果如下。
5.结论
根据我并不是很严谨的实验得出的结论是,
一个二维码图片中起重要作用的首先是位于四角的三个方块(除去右下角那个打酱油的)以及中间部分,因为时间有限所以没有测试最中间头像部分的作用,不过按照微信二维码的规则应该是没什么作用,毕竟不管头像怎么换,扫描之后链接到的还是我这个帐号。
其次就是两个角之间的四条边,遮住一个没有关系,两个的话就无法扫描了。按照我的想法四边的尺寸应该是一样的,但是试了几次都是上图的那个结果,可能是哪里出了问题。