Qraft

扫描瞬间手机里发生了什么

1 秒内 7 个处理

对准图案后 7 个处理高速执行:拍摄、检测候选区域、定位定位图案、网格分割、二进制转文本、纠错、识别 URL 启动浏览器。现代手机每秒尝试检测 30-60 次。

步骤 1-2:拍摄与检测

图像转为黑白(二值化),识别黑色像素密集区域为候选。良好对比度使检测瞬间完成,光线不足导致失败。

步骤 3-4:定位与网格

三个定位图案确定精确位置、大小和倾斜。倾斜校正使斜角扫描成为可能。网格使用相邻单元的相对亮度比较。

步骤 5-6:解码与纠错

二进制序列按规格解码。里德-所罗门纠错同时修复损坏数据,最多恢复 30% 损坏。

一瞬的处理造就体感

从把相机对准码到目标页面打开,我们只感到短短一瞬。然而其背后,拍摄、发现图案、确定位置、读取明暗、纠正错误、识别网址等诸多处理在依次运行。正因为这些毫无停滞地衔接起来,我们才几乎不会怀有被等待的感觉。若在某一处处理上绊住,读取便会失败,需要重来。不经意的一瞬的舒适,由内部精确累积起来的处理之链所支撑。

读不出时背后发生的事

读取不顺利时,智能手机内部,处理的某一处未能完成而停了下来。找不到图案、位置定不下来、分辨不出明暗、信息缺失到无法纠正。原因各异,但都是在一连串处理的某处绊住的状态。正因如此,稍微改变距离、调整明亮度、或擦去码上的污渍,停住的处理便会向前推进,读取便会成功。把读不出的现象,理解为内部正在发生的处理的中断,便更容易找到应对的头绪。

步骤 7:URL 识别

码字符串为 URL 则启动浏览器,其他数据类型触发对应应用。全部 7 步在 1 秒内完成。