智能手机摄像头里隐藏的秘密
摄像头由光传感器组成
智能手机摄像头的核心是一块排列着数千万个微小光传感器的芯片(图像传感器)。光线通过镜头照射到每个传感器上,将亮度转换为数字。读取黑白图案时,摄像头关注的是明暗对比:白色反射更多光线(数值大),黑色吸收光线(数值小)。对比度越高,读取越准确。
自动对焦的原理
现代智能手机使用相位检测自动对焦,通过光线到达传感器的偏差计算对焦距离,原理类似人眼的双目视差测距。对焦仅需约 0.03 秒。扫描的最佳距离是 10-30 厘米。
解码软件读取图案含义
摄像头拍摄图像后,解码软件先找到三个大方块标记(定位图案)确定位置和角度,然后将图案分割成网格,判断每个格子是白(0)还是黑(1),最后将二进制序列还原为文字或网址,整个过程不到一秒。
为什么损坏的图案仍能读取
纠错机制在图案中嵌入了备份数据。最强等级下,即使 30% 的图案受损仍可读取。纠错越强图案越大越复杂,需要在耐久性和尺寸之间权衡。
在昏暗处也能读取的巧思
在昏暗的室内或夜间也能读取 QR 码,是因为相机会配合周围的明亮度自动调整摄入的光量。光少的场景里,它会设法摄入更多的光;过亮的场景里,则抑制摄入的量。即便如此,光仍不足时,图像会变暗,图案的明暗变得难以分辨,便容易读取失败。这时,调高屏幕亮度,或朝光照到码的方向稍微移动,便会改善。帮一帮相机的调整,是读取成功的捷径。
过近过远都读不出的原因
把智能手机离 QR 码太近,反而可能读不出。这是因为相机能对焦的距离有限。太近则焦点对不上,图案会模糊。反之太远,则每一个单元格拍得太小,无法分辨明暗。读取不顺利时,把智能手机拉近或拉远来调整,正是因为相机在寻找它恰好能对焦的距离。找到恰当的距离,便能通向快速读取。
为什么比条形码读取更快
条形码只在水平方向存储信息,最多约 20 个字符。二维图案在水平和垂直两个方向存储信息,最多可容纳 7,089 个字符。三个定位图案使得从任何角度都能瞬间确定位置。