IT之家讯 二维码扫描已经成为当下最流行的社交联系、网络访问、移动支付等媒介,而微信中的扫一扫也帮助微信迅速提升用户量和使用频次。这项看起来简单方便功能的背后有什么秘密呢?微信技术团队今天带来了官方科普,一探微信二维码扫描技术细节。
当然二维码扫描功能并非一开始就出现在微信上,直到微信5.0才加入。扫码已用于添加好友、获取商家品牌、甚至单个商品信息以及微信支付,免除了用户在寻找信息时的在线搜索过程,也给用户指引了一条连接线上线下资源的捷径,用户不需要另外下载一个二维码读码应用。
微信扫码为什么那么快?
先来看看二维码结构图:
二维码外形为正方形,三个角方向上有“回”字标识,是用来识别二维码的关键定位图形,或者叫位置探测图形(如下图)。
扫码过程其实就是不断对焦,采集图像,识别的过程;采集的帧数越少,代表扫码速度越快,可以理解为图形处理器每秒钟能够刷新几次。
微信团队分析数据显示,引擎在识别正常图片时的解码速度,iOS可缩短至5ms, Android也仅仅约12ms。
另外微信扫码还有预判算法,它充当扫雷尖兵,在进行核心识别处理之前,能早一步对大量图像中是否有“码”进行侦查判断。
整个扫码预判模块位于核心识别引擎之前,不再需要对输入的视频中的每一帧图像进行检测识别,能实现快速过滤大量无码图像,减少后续不必要的定位和识别对扫码客户端造成的阻塞,使响应更加及时,增加扫码过程中的流畅度,这样,大家使用起来才能在“无感知”的状态下体验微信扫码的快速。
更早前测试显示,对于无码图像,主流手机上的处理速度均有较大幅度地提高,部分机型平均运行时间降低到10ms以内。对于有码图像,二维码的平均识别也快了近35%,而在时间缩短的情况下保持了识别率不变。
除了以上微信二维码快速扫描外,微信在扫码准确性上还下了一番功夫。
微信团队专门开发了二维码和条形码识别“大杀器”——识别引擎QBar。QBar扫码对二维码容错性解码算法、多语言字符检测算法等均使用进行了数十项优化,在识别率和识别速度上得到了提升。
本文来源:不详 作者:佚名