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

2021SC@SDUSC

目录

一、Zxing简介

1.1 概述

1.2 格式

1.3 第三方开源项目

二、代码简析

2.1 代码结构

2.2 核心代码

三、任务分工

3.1 主要任务

3.2 小组分工


一、Zxing简介

1.1 概述

ZXing(“斑马线”)是一个开源的、多格式的1D/2D条形码图像处理库,用Java实现,具有其他语言的端口。目标是能够对QR编码、Data Matrix、UPC的1D条形码等进行解码。 其提供了多种平台下的客户端包括:JavaME、JavaSE和Android等。

2021SC@SDUSC Zxing开源代码(一)综述_第1张图片

代码地址:GitHub - zxing/zxing: ZXing ("Zebra Crossing") barcode scanning library for Java, Android

1.2 格式

1D product 1D industrial 2D
UPC-A Code 39 QR Code
UPC-E Code 93 Data Matrix
EAN-8 Code 128 Aztec
EAN-13 Codabar PDF 417
UPC/EAN Extension 2/5 ITF MaxiCode
RSS-14
RSS-Expanded

1.3 第三方开源项目

基于ZXing的第三方开源项目有:

Module Description
QZXing port to Qt framework
glassechidna/zxing-cpp port to C++ (forked from the deprecated official C++ port)
nu-book/zxing-cpp recent port to C++
zxing_cpp.rb bindings for Ruby (not just JRuby), powered by zxing-cpp
jsqrcode port to JavaScript
python-zxing bindings for Python
ZXing .NET port to .NET and C#, and related Windows platform
php-qrcode-detector-decoder port to PHP
ZXing Delphi Port to native Delphi object pascal, targeted at Firemonkey compatible devices (IOS/Android/Win/OSX) and VCL.
ZXingObjC Port to Objective-C
php-zxing PHP wrapper to Zxing Java library
zxing-js/library TypeScript port of ZXing library
pyzxing Python wrapper to ZXing library

二、代码简析

2.1 代码结构

1)core:核心包,是整个应用的主要组件组成部分,包含条码解码编码的核心算法。

2)android: 为Android端定制的客户端工具。

3)android-core:配置Android摄像头。

4)android-integration:简化Intent与Android客户端集成。

5)javase:JavaSE的客户端代码。

6)zxingorg:在线解析二维码。

7)zxing.appspot.com:在线生成二维码。

2.2 核心代码

经小组讨论后,我们认为本项目的核心代码在上述前三个模块,即core、android、android-core。

三、任务分工

3.1 主要任务

本人主要负责分析core模块代码中图像编码算法。

3.2 小组分工

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

博客地址

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

博客地址

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

博客地址

你可能感兴趣的:(山东大学软件工程应用与实践,java,android)