对zxing进行优化的思考

前言

对于Google 的开源框架Zxing库的使用介绍,前面也通过几篇文章进行解读.

  1. Android 二维码的扫码功能实现(一)
  2. Android 基于Zxing的扫码功能实现(二)
  3. Android 基于Zxing扫码实现(三)、从相册选取二维码
  4. Android 二维码开发功能实现(四)------基于Zxing实现编码功能(生成二维码,一维码等)

日常关于条码的开发需求通过前几篇的博文学习,基本上来说都是可以满足的.本文是在满足需求实现功能后的基础上,提出一些更优化的思路.让扫码功能变得更加优化,精准度和速度再次提升.
该系列的第二篇文章 Android 基于Zxing的扫码功能实现(二) 中,当时已经提出了一些扫码的优化逻辑,包括有: 移除不需要的BarcodeFormat,保留我们支持的条码格式即可;控制扫码的矩形框大小;控制聚焦时间等优化策略.具体的可以移步至本系列第二篇博文查看.
这些优化策略确实达到了效果,提高了扫码速率与准度.现在随着使用的深入了解与学习,发现了一些还可以进一步优化的思路.在此总结一下.后续有时间会慢慢有代码实现,开源到Github YZxing项目上面.
YZxing地址 .


优化思路

支持Camera 缩放 (Support Camera ZOOM)
  1. 在使用YZxing的时候,如果二维码距离相机镜头太远,此时扫码的成功率就会下降,所以,为了增加用户的体验,可以考虑加入,手指缩放功能,调节二维码图案的大小.
  2. 除了通过用手指进行Camera zoom in/out 功能,更人性话点,我们考虑可以加入Auto Zoom的功能.通过Zxing库里面的相关类.可以做到,先检测到条码的形状大小,然后根据检测到的条码宽度与扫码框宽度或者preview 宽度做比较,以此来进行合适的缩放,最后在对缩放后的二维码进行结果检测.核心代码如下:
......DetectorResult detectorResult = new Detector(bitmap.getBlackMatrix()).detect(hints);                ResultPoint[] points = detectorResult.getPoints();                if (points!=null&&points.length>0){                    for (int i=0;i

更多相关文章

  1. {转}实现谷歌Android摄像头拍照 2010-06-24 16:16:04| 分类: andr
  2. React Native接入现有Android原生工程并实现简单的RN与Android通
  3. Android和设计模式:策略模式
  4. Android拨号器的实现
  5. Android(安卓)实现 欢迎界面 自动跳转 到 主界面
  6. 关于安卓开发实现拖动条和星级评论
  7. Android实现轮播图效果
  8. Android中使用Gallery_tabhost来实现标签效果图源码
  9. android设备添加F1-F12按键功能

随机推荐

  1. Android TextView 超链接
  2. 面试篇--android下网络通讯机制(三种网络
  3. 获取手机系统
  4. Android(安卓)StateMachine和AsyncChanne
  5. Android中画图总结(1)
  6. android 自定义用相机拍照后的照片存储位
  7. android群发短信时判断短信是否发送成功
  8. Android触屏事件处理策略
  9. Android之百度地图开发,包含定位,覆盖物,经
  10. Android 图片加载总结帖