为什么扫一扫扫不出来-光线偏移会直接阻断条码识别
便利店货架上的付款码反复对准手机镜头,屏幕始终弹出无有效条码的提示,当场就纳闷为什么扫一扫扫不出来,站在冷风口来回挪动手机折腾了十几分钟。货架上方的冷柜灯管斜着打在付款码纸上,一层反光糊住了码条的黑白分界,原本清晰的图案在镜头里变成一片灰蒙蒙的色块,扫码软件根本没法抓取完整的像素信息。
当时下意识抬高手机远离货架,以为距离太远识别不到,特意把镜头贴紧纸张,可屏幕里的条码直接出现大面积模糊,手机对焦系统锁死在冷柜玻璃的纹路里,压根不会落在纸质付款码上。手指还反复擦拭镜头玻璃,擦掉了一层浮灰,扫码界面依旧停留在加载状态,收银台旁边的导购路过看见,伸手挡掉头顶直射的灯光,扫码框瞬间捕捉到图案,几秒就完成付款。
后来才反应过来,扫码失败不只是镜头脏污这一种问题,纸质码面出现反光,等同于人为遮挡了条码的核心信息。线下商铺的打印收款码经常贴在冷柜、玻璃橱窗这类反光材质表面,顶光、侧光都会在码纸上形成亮斑,黑白条纹被亮光覆盖之后,软件识别算法无法区分底色和条纹,自然没办法完成信息读取。
小区楼下的果蔬店也遇见过同款状况,老板打印的收款码被塑封膜包裹,正午太阳透过玻璃窗斜照过来,塑封表面折射出刺眼白光。站在店门口对着码反复扫描,连续切换手机相机的广角、主摄模式都没有效果,走到店铺背光的角落重新对准,仅仅挪动两步距离,扫码弹窗立刻弹出付款页面。
手机自带的扫码软件还存在对焦卡顿的问题,上次给家里老人扫药品溯源码,老人拿着药品包装盒距离镜头半米远,手机摄像头迟迟无法自动对焦,屏幕里的药品条码一直处于虚焦状态。手动点击屏幕锁定条码区域,画面清晰之后依旧识别失败,低头翻看药品包装才发现,包装盒表层有一层哑光覆膜,条码印刷的油墨偏淡,暗光环境下黑白对比度大幅下降,相机采集的画面信息达不到识别标准。
出门买菜的时候特意留意过街边商户的收款码,不少摊主习惯把收款码贴在老旧铁皮货架上,铁皮表面的锈迹和凹凸纹路会干扰条码成像,手机镜头拍摄时,锈斑的深色纹路会和条码黑色条纹重合,系统判定画面里不存在完整可用的二维码。换个角度侧对着铁皮扫码,避开锈迹遮挡的区域,扫码就能正常跳转支付页面。
傍晚收拾手机相册翻到那天便利店的付款截图,屏幕边缘还留着冷柜灯管反射的白光,指尖划过照片里模糊的收款码,忽然想起当时白白浪费的十几分钟。早知道抬手遮挡强光就能解决问题,也不用反复调整手机距离、反复擦拭镜头,平白在便利店门口耽误不少时间。