为什么微信扫描识别二维码速度那么快
微信扫描识别二维码速度快的原因
- 技术层面的优化
- 使用QBar引擎及预判算法:微信扫码使用自家开发的QBar引擎,并计入了预判算法。在识别条码之前会过滤无码图像,只识别有意义的内容——二维码和条形码。整个扫码预判模块位于核心识别引擎之前,不再需要对输入的视频中的每一帧图像进行检测识别,能实现快速过滤大量无码图像,减少后续不必要的定位和识别对扫码客户端造成的阻塞,使响应更加及时,增加扫码过程中的流畅度。
- 优化解码流程:QBar识别及解码有特定的流程,包括读取视频或图像,通过灰度化处理得到单张灰度图;对灰度图进行处理得到二值图像(二值化是引擎在识别前把图像转换成01图像的过程);将二值图输入不同的解码器识别是否存在二维码;如果检测到存在某种编码,即通过相应的解码器进行解码,并返回解码结果。同时,给每个步骤做上“标签”,目的是找出错误信息,对失败信息再设置相应的二次检测流程,在失败的步骤处进行更“努力”地尝试,且越到后面的步骤,表明图中存在二维码的概率越大。通过这样每步找错、多次识别解码,大大提高了手机扫描二维码的成功率,也有助于提高识别速度。
- 针对二维码特性优化:二维码中存储的信息通常都经过了纠错编码,是有冗余的。一个微信二维码中包含的信息量并不需要很大(一个微信ID即可),这意味着编码的冗余度可以做得较高。这种情况下,即使二维码只有一部分被扫描到,也能正确的被解码,有利于快速识别。
- 微信自身的优势
- 大量数据处理经验积累:据粗略估算,微信目前一年要处理至少二维码达千亿级,市面上超过60%的二维码都诞生于微信平台,相当于每个微信活跃用户平均每年都会扫描140次甚至更多的二维码。如此庞大的数据处理量,促使微信团队不断优化扫码功能,在长期的实践和优化过程中,其识别速度得以不断提升。
本篇文章所含信息均从网络公开资源搜集整理,旨在为读者提供参考。尽管我们在编辑过程中力求信息的准确性和完整性,但无法对所有内容的时效性、真实性及全面性做出绝对保证。读者在阅读和使用这些信息时,应自行评估其适用性,并承担可能由此产生的风险。本网站/作者不对因信息使用不当或误解而造成的任何损失或损害承担责任。
