一次二维码识别的开发记录

本文记录了一次使用zxing进行二维码识别的开发过程,包括遇到的问题与解决方案。建议使用最新版本的zxing,遇到识别问题时可以借助在线工具辅助排查。在处理图像时,YUV格式的数据输入能提高识别精度,而带有透明部分的PNG图片可能需要填充背景后再识别。
摘要由CSDN通过智能技术生成

最近做了一个识别图片二维码相关的东西,遇到一些问题,在此记录一下,以备查阅。


相关网页:

zxing源码:https://github.com/zxing/zxing

zxing相关资源:https://github.com/zxing/zxing/releases

zxing相关jar包:http://repo1.maven.org/maven2/com/google/zxing/

基于zxing的在线条码/二维码识别:http://zxing.org/w/decode.jspx


参考:

http://kesun-shy.iteye.com/blog/2154169

http://my.oschina.net/kevinvane/blog/173070



遇到的坑及解决方案:

1.zxing版本

建议使用最新版,最新版各方面都会比较完善。

之前拿了老版的用,结果发现有些类找不到,又去网上到处搜了一遍,结果最后发现最新版的里面都集成了。


2.无法识别

遇到无法识别的,建议使用在线版的识别一下,如果在线版可以,那么说明你的代码还有问题。

如果在线版也无法识别,那么试试Barcode Scanner,如果这个可以识别,那么还是你的代码有问题。

如果都无法识别,那么,放弃吧,zxing应该是识别不了了,去看看其他的条码识别工具。


3.jar包

有几个jar包:

  1. core:核心包,zxing的核心功能在里面
  2. android-core:camera相关的包,没具体研究,如果需要用到camera的,可以看看
  3. android-integration:没有具体研究,貌似test工程需要用到这个


4.关于代码

想要看使用示例的,可以直接下载Barcode Scanner的源码,里面有一个测试工程和Barcode Scanner的源码,基本上照抄里面的代码就可以实现你要的功能。



5.精确度

根据我个人的几次测试发现,输入数据为yuv的会更精确一些,直接输入彩色图片效果似乎不好,猜测可能是yuv数据输入时,zixng直接处理了y部分数据,待证实。

同样一张图,转换成yuv数据输入可以识别,直接bitmap读入无法识别。

另外,如果有png图,图上有透明部分的,可能会无法识别,建议先填充透明部分,再识别。

思路为:在底图上填充白色背景,然后将png画到底图上。

以上结果仅为我个人测试结果,可能不准确,仅供参考。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值