前言
Zxing是一款市面上比较常见的三方开源扫码sdk,但是Zxing的缺陷在于只是实现了扫码的一些基础操作,对于更为复杂的扫码环境比如强光,弯曲,形变等情况,并不能很好地支持。现在主流的做法是基于Zxing 的源码做部分优化,但是效果依然不算理想,同时还会花费很多人力。
华为统一扫码服务(Scan Kit)提供便捷的条形码和二维码扫描、解析、生成能力,可以帮助开发者快速构建应用内的扫码功能。得益于华为在计算机视觉领域长期能力积累,华为统一扫码服务(Scan Kit)可以实现远距离码或小型码的检测和自动放大,同时针对常见复杂扫码场景(如反光、暗光、污损、模糊、柱面)做了针对性识别优化,提升扫码成功率与用户体验。
Zxing与华为HMS Scan Kit对比分析
下面,小编将从如下几个维度,带大家一起来对比一下Zxing和华为 HMS Scan Kit的能力差异,分别是:
Ø 远距离扫码
Ø 复杂场景扫码
Ø 任意角度扫码
Ø 多码识别对比
Ø 平台支持对比
Ø 集成方式对比
Ø 技术分析对比
1.远距离扫码对比
远距离扫码成功依赖于二维码的规格(信息量越大识别难度越高)以及相机离二维码的距离。由于Zxing缺乏对于自动放大的优化,常规条件下,在码小于屏幕占比1/5的时候会出现识别困难的情况。反观HMS Scan Kit,由于在流程上多了一个预检测的功能,即使是肉眼无法分辨,也可以很好的自动放大超远距离的二维码。
![](https://i-blog.csdnimg.cn/blog_migrate/e0b2c2107d8078cf80f9acdd292aac9c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/c78de74fc5c7a5af6b8caa3087d28a5d.gif)
对比结论:Scan Kit胜
2.复杂场景扫码对比
复杂场景的扫码主要分为反光,暗光,污损,模糊,柱面。在复杂场景下,Zxing的识别效果比较差。细分复杂场景如下:
这些场景在生活中很经常会遇到,比如在室外会经常遇到反光,暗光,污损等场景,在二维码贴在商品上时会出现曲面甚至棱角的情况。在边走动边扫码时,也会遇到运动模糊的挑战。针对这几种场景一起来看下直观测试对比:
![](https://i-blog.csdnimg.cn/blog_migrate/4a19a5bbda115b27002a0facaa8ee419.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/ea81091c38a987c8b34fe9061857c74c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f79836a621002f6b8fb7c03a85ba381c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6d35928a4e706aefa12c6a852df0bf2f.gif)
对比结论:Scan Kit胜
3.任意角度扫码对比
Zxing中目前只能支持正向的扫码,也就是说没有办法识别具有一定角度的码。但是Scan Kit可以轻松的完成这一点,