2021SC@SDUSC-Zxing(一):Zxing初步认识

2021SC@SDUSC

一、Zxing简介

ZXing (“zebra crossing”) 是一个开源的、多格式的1D/2D条形码图像处理库,支持在图像中解码和生成条形码,用Java实现,具有其他语言的端口,而且支持PC端、移动端。目前支持以下格式的1D/2D条形码:

Type名称简述
1D productUPC-AUPC标准码,标识商品
UPC-EUPC缩短码,缩短码一般用在商品包装比较小也就是条码位置不够的商品上。
EAN-8用于百货业和超市
EAN-13用于百货业和超市
Code 39内部管理码,工业行业应用较多,适用于比较小的商品
Code 93密度比39码高,面积不足时,可替代39码
Code 128比39码能表现更多的字符,适用于非销售点产品,比如可作为运输行业的集装箱识别码。
Codabar自检条码,用于读取印刷形式的条码,用于航运业、血库单、图书馆书脊等地方
ITF全球范围内的商品运输包装
RSS-14RSS系列条码是一维码和二维码的组合码。
RSS-Expanded同上
2DQR Code通常用于产品跟踪或营销,比如广告、杂志或名片。
Data Matrix占用空间比QR二维码小,是物流或运营中的小件产品的理想选择
Aztec适用于运输行业的二维码,多用于机票和航空公司登机牌。
PDF 417适用于需要存储大量数据(如照片、指纹、签名、文本、数字、图形或其他信息)的应用程序,也可用于标识危险品、电子仪器技术规格与标准化数据
MaxiCodeMaxicode是特别为高速扫瞄而设计,主要应用于包裹搜寻和追踪上。
由此可见,Zxing的应用范围是非常广泛的。

二、Zxing模块分析

‎ZXing 由多个模块组成,包括核心图像解码库、JavaSE 特定客户端代码和 Android 客户端条形码扫描仪。它是许多其他第三方开源项目的基础。

GitHub地址:https://github.com/zxing/zxing

API文档:https://zxing.github.io/zxing/apidocs/index.html

介绍文档(和docs中的内容同):https://zxing.github.io/zxing/

在这里我们称每个文件夹为一个模块,对各文件夹的描述如下:

模块描述
core核心图像解码库以及测试代码
javase特定于JavaSE的客户端代码
android安卓客户端条码扫描器,安卓扫码的实例
android-integration支持通过 Intent 与安卓集成
android-core配置 Android 相机
zxingorg基于网络的(在线的)条形码解码器的代码
zxing.appspot.com基于网络的(在线的)条形码生成器的代码
docsZxing的介绍文档

核心部分的代码为:core、android、android-core

三、与其他相关的第三方开源项目简要比较

Zbar和 barcode4j是官方的README.md文档中提到的其他相关的第三方开源项目。Zbar和Zxing均可以解码;barcode4j和Zxing均用java编写,都可以生成码。

ZxingZbar
Java编写,覆盖主流编程语言C编写,速度极快
目前仍有多人维护目前处于无人维护状态
Zxing支持更多的1D/2D条形码,例如Data Matrix、Axtec等Zbar支持1D/2D条形码较少
Zxing不会出现中文乱码Zbar 有中文会乱码
Android一般用Zxingios一般用Zbar
Zxing可以生成、解析码Zbar无法生成码

更多详细数据对比可见:QR 代码读取基准和比较|动态软件开发人员 (dynamsoft.com)

Zxingbarcode4j
可以生成、解析码只能生成码
生成条形码下方没有数字生成的条形码下边有数字

通过查阅资料简要总结了以上几条。

四、分工

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值