关于”二维码“的问题

问题:”现在出门坐公交都要扫码,请问上了车,透过玻璃,扫描贴在车外的二维码背面,能扫出同一结果吗?“

经过实测,的确是一样的结果。

实际情形:
”师傅,这里面没有二维码,我咋扫啊?“
”扫贴在车窗上的二维码的背面“
”这能行吗,我试试....“
还真行了。????????

为什么会觉得不行呢?或者为什么可以实现:为什么二维码不管正反从任意方向都可以扫出信息?

个人分析分析????????????

三种二维码

二维码,用黑白色块来表示信息,那么二维码不管正反从任意方向都可以扫出信息
应即:从各个角度的扫描出的图形是唯一的。

我们观察上边的三幅二维码,除了其本身的黑白色块外,我们可以看出在二维码的四角处,都有一个四个定位模块.而且有一个和其他明显不一致。

如果我们规定 红色定位块(该定位块也可不存在,保持空白)必须在右下角那么在一个平面内,无论怎么旋转该二维码,都可以经由定位,将任意旋转的二维码转化为上图的标准形式。

那镜像的条件下呢?也就是我们开头的问题:

如果我们依旧规定红色定位块(或 空白)必须在右下角

黑白色块应该是错位了,依旧规定红色定位块必须在右下角,无法判断,这时要是定位扫码,应该就出错了。

可是镜像扫码也是获得了一样的结果哦,那是如何解决这个问题的?

1.再看一前面的三张图

没错,真相只有一个,这中间的图标,正反看过去不一样!
emm????????????,不过这一般都是应用的图标,应用图标不会考虑存储着正反的区别吧...



2.把镜像扫码和正面扫码都确定为该码中所含信息的映射,emmm,就是生成二维码时(比如把一个网站链接转成二维码),同时生成镜像和正面两个码,这两个码都指向同一个网站链接。
问题:
1.当生成的二维码本身镜像对称?......好像没什么问题

2.生成的两个二维码互为镜像堆成,生成时,已经生成的二维码和其镜像都考虑一下,
也就没什么问题了。

可是,要是同时考虑镜像和正面,那么就是两个码当一个码用,这浪费量可就是很高啊!

好,自己的思考到此为止,实际到底如何呢?

回答1:https://www.zhihu.com/question/366350052

回答2:https://tech.china.com/article/20200624/20200624546585.html
难道我没有整明白?

回答3:某专利:一种具有扫描镜像二维码功能的POS机
直接加个镜子,用镜像的镜像,那如何判断二维码是不是镜像的?

回答4:张灵凤, 冯锋, 黄恒. 二维码技术的生成原理的分析与研究[J]. 电子设计工程, 2017, 第25卷(17):1-5.

里面没详细说,观察图,个人认为:
1.可以根据图中两个蓝色色块的位置关系,来判定是否二维码发生了镜像。
2.根据图中某一不位于原图对称轴的某一色块的位置来标定是否发生了镜像
(maybe 那个 校正图形)
——————————
即在图中增加指明是否翻转的信息。



总结

1.我觉得三个小方块,最多能一个平面内定位,解决旋转问题,解决不了镜像的问题;
2.在二维码图中增加标定是否镜像的信息比镜像/正面 两码表示一码更好,资源消耗更少
3.很可能一开始使用二维码时,并没有考虑到镜像扫描的问题,这也显然,没有人会主动取扫描背面
4.在上述讨论中,没有思考图像变形问题

好,是个有意思的问题

-END