二维码识别
用摄像头扫描二维码,或者识别手头已有的图片,里面的内容按字段逐项列出。
如何识别二维码
- 1
允许使用摄像头,或添加图片
在手机上,用摄像头最快。如果没有摄像头、拒绝了权限,或者二维码在截图里,把来源切换为“图片”,选择那个文件即可。
- 2
对准二维码,保持不动
画面每秒读取十次。同样的内容连续出现两次,结果才算数,这样画面里的干扰不会被当成识别结果。
- 3
查看内容并复制
如果是链接,打开之前能看到完整地址和所属域名。Wi-Fi账号密码、联系人名片、邮件、短信草稿和地图位置都按字段逐项列出,可以直接复制或保存。
任何内容都不会自动打开
二维码是一个肉眼读不出来的地址,正因为这样,它很容易把人引到本来不想去的地方。停车缴费机和餐厅桌上的真二维码,常常被人贴上假的二维码,原因就在这里。所以这个识别工具从不自己跳转:它显示完整地址和所属域名,打开链接的按钮要你自己点。识别图片时也一样:二维码解出来的内容,在你动手之前不会改变页面的任何行为。
一张图片尝试三次才放弃
拍下来的二维码很少像二维码本身那么清晰。第一次按图片原始尺寸读取。如果失败,把图片的长边缩小到一千像素,这往往有用:一张拍小二维码的一千二百万像素照片,相机噪点比细节还多。第三次把亮度范围拉伸到纯黑和纯白,再用大津法(Otsu)选出的阈值二值化,光线昏暗或隔着玻璃拍的二维码常常能这样救回来。三次都失败后,工具才会提示没有找到二维码。
反色二维码和弱光下的二维码
深色背景上的浅色模块和常见的浅底深色二维码一样能识别,因为每一帧都会按两种极性各试一次。另一部手机屏幕上显示的二维码也能识别,不过屏幕自身的像素网格有时会产生摩尔纹,需要把手机稍微靠近或拉远一点。
摄像头画面只留在你的设备上
画面绘制到这个标签页里的画布上,也在这个标签页里解码。任何一帧画面、照片和解出的内容都不会上传、保存或记录,也不使用任何云端识别服务。确认识别到二维码、离开页面或切换到其他标签页时,摄像头会立即释放。
常见问题
图片会发送到服务器吗?
不会。摄像头识别和图片识别都完全在浏览器中运行。没有任何内容上传,所以页面加载完成后,断开网络也照样能识别。
浏览器为什么要求摄像头权限?
从实时画面里读取二维码需要视频流,而浏览器只有在你明确允许后才会提供。如果你拒绝,工具会切换到图片识别,不会卡住。
没有摄像头能用吗?
能。把来源选为“图片”,然后选择一个不超过20 MB的PNG、JPEG、WebP、GIF或BMP文件:截图、之前拍的照片,或者别人发给你的二维码都可以。
链接为什么不会自动打开?
因为二维码是扫描之前读不出来的地址,而公共场所的二维码常被人动手脚。你会看到完整地址和所属域名,打不打开由你决定。
能识别另一部手机屏幕上的二维码吗?
通常可以。屏幕亮而清晰,这对识别有帮助。如果图案闪烁,把手机靠近或拉远几厘米,打破两层像素网格之间的干扰。
照片模糊怎么办?
先试一试。第三次尝试能补救很多曝光不好的照片。如果还是失败,把图片紧贴着二维码裁剪后再试:占满画面的二维码,比在大场景里只占一小块的二维码好识别得多。
扫描别人制作的二维码安全吗?
在这里扫描是安全的,因为什么都不会自动发生。二维码的风险在于你接下来做什么,所以内容会完整显示,链接的域名会单独写明,Wi-Fi密码只显示出来,不会悄悄自动连接。