美文网首页
【Android Tips】小厂的扫码还能怎么做?

【Android Tips】小厂的扫码还能怎么做?

作者: 二手认知 | 来源:发表于2021-03-14 15:58 被阅读0次

    先说重点,你的App能识别下面这个二维码吗?

    二维码链接

    (说明: 由于简书的异常检查机制,包含某些二维码的文章会检测不通过,本文所有包含二维码的图片将以链接形式给出)

    如果扫码功能基于ZXingZBar,而且没有自定义处理过数据,大概率是不行的。
    这个时候,你可以试试google这个(基于机器学习的)库:

    结果截图:

    扫码结果


    下面说一下我面临的问题与思考过程

    今天接到一个优化扫码的任务,然后收到了下面的二维码(就是上面那个):

    二维码链接

    扫码比较差我是知道的,只是用了ZXing这个库,在大部分情况下能扫出来,但是与超级App有着肉眼可见的差距(如微信、支付宝都成功识别了上面的二维码)。

    跪在上面这张二维码上后,我不怀好意地测试了一些不以扫码为主要用户场景的应用,发现他们也都跪了。。。

    锤子的相机-没有识别到二维码

    网易云音乐(versionCode=8000041) - 未能识别

    得到App(versionCode=20201231) - 未能识别

    今日头条(versionCode=8090) - 只是偶尔可以成功。。。对不起宇宙厂,这只是巧合

    最后,ZXing的官方App(versionCode=108)也失败了...

    于是开始搜索一些解决方案,对于图像做一些中间的处理,处理后的数据ZXing更容易识别。看到这里,没有马上动手,而是开始想另一个问题:

    这样的问题,最应该谁来解决?
    应用层的程序员真的要研究图像识别,二维码原理这些吗?

    带着这些问题,我搜索了微信的解决方案,看到微信对整个扫码的流程都做了很多处理,而且这篇文章是2016年的,听说现在的微信扫码用到了机器学习的技术(后来一想,图像识别可能是最适合用机器学习的场景了)。另外,微信阿里的方案都是闭源的(当然,他们没有任何义务开源),腾讯云还有一个产品就叫智能扫码, 想着替公司剩下10万一个应用的授权费用,我继续了搜寻。。。

    。。。很久(大概半个小时吧)之后,

    我找到了文章开头提到的google的方案,作为机器学习的应用之一,ML Kit项目中包含一个barcode-scanning模块。项目还比较新,init到现在也就半年多(如果有坑可别怪我,嘿嘿~),但理论上基于机器学习的图像识别技术已经非常成熟了。具体的用法可以参考GuidelineSample, 如上文,结果是快速成功识别:

    ML Kit识别结果

    这可能是我第一次真真实实地意识到机器学习的力量,联想到韩寒的文章《我也曾对这种力量一无所知》,机器学习已经在很多方面展现出它的过人之处了,感谢Google,让我对机器学习一无所知的情况下也能分享收益,只是。。。

    如果没有Google,只有国内的大厂(再次强调,它们没有义务开源),
    机器学习的时代,会加速公平还是加速分化呢?

    相关文章

      网友评论

          本文标题:【Android Tips】小厂的扫码还能怎么做?

          本文链接:https://www.haomeiwen.com/subject/uggqcltx.html