栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021SC@SDUSC Zxing开源代码(一)综述

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021SC@SDUSC Zxing开源代码(一)综述

文章目录
  • 一、Zxing是什么?
  • 二、核心代码确定
    • 1.代码目录结构分析
    • 2.核心代码确定
  • 三、分工


一、Zxing是什么?

ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。
其所支持的基本1D/2D条码类型有:

1D product1D industrial2D
UPC-ACode 39QR Code
UPC-ECode 93Data Matrix
EAN-8Code 128Aztec
EAN-13CodabarPDF 417
UPC/EAN Extension 2/5ITFMaxiCode
RSS-14
RSS-Expanded
二、核心代码确定 1.代码目录结构分析
模块描述
android-core配置Android摄像头
android-integration简化Intent与Android客户端集成
androidAndroid客户端源码
core条码解码编码的核心算法
javaseJavaSE的客户端代码
zxingorg在线解析二维码
zxing.appspot.com在线生成二维码
2.核心代码确定

经过小组讨论,我们定位项目的核心代码为Android模块、core模块以及Android-core模块

Android模块是调用Android手机摄像头,进行扫码并返回结果的主要功能模块,其项目目录如下:

  • android包:zxing客户端完成扫码流程的主要实现处理类(包括相机预览、扫描、解码、返回结果等)
  • camera包:包含摄像头的相关管理类
  • share包:处理条码分享功能
  • encode包:编码功能的组件集合(具体编码算法在core模块内)
  • clipboard包:剪贴板功能
  • history包:实现“历史记录”、连接数据库的相关类
  • result包:条码扫描的结果被分为不同的类型(如图书ISBN码、wifi信息的编码、地址簿码等),该包下的类根据类型进行不同的处理操作
  • book包:若扫码结果是图书的ISBN码,可以选择联网查询该书的详细信息。该包中的类处理实现相关功能。
  • wifi包:若扫描到的二维码是对wifi信息的编码,那么最终扫描结果页会展示一个“连接到网络”的按钮,点击此按钮就会自动尝试连接。该包中所包含的类则是链接网络所需的工具类

core模块是处理条码的核心算法模块,其下有aztec、qrcode、pdf417等不同码制的编码解码处理包,同时还有一些公用算法(如图像的二值处理等)放在common包中,具体结构流程会在后续代码分析中展开,这里不作赘述。

Android-core模块下只有一个类,是相机的相关配置信息


三、分工

成员一:分析Andriod模块主要代码,理清Zxing的Android端调用流程,并且尝试优化相机配置代码,解决扫码区域小、图像拉伸等问题,提高二维码识别效率。
博客地址

成员二:分析core模块代码中图像解码算法(以主流码制QR Code为例),尝试对光线不足或过强情况下二维码损坏的图像进行预处理后精准解码;尝试优化二维码检测算法
博客地址

成员三:分析core模块代码中图像编码算法(以主流码制QR Code为例),尝试加强二维码保密性,并且试图生成带有logo、色彩的二维码;尝试实现数据压缩编码算法的优化,使在整体数据压缩后,码字数目得到减少,提高编码效率
博客地址

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/281795.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号