这两天看zxing的代码,只针对QRCode部分,首先还是对QRCode的版本和来源做一定的了解,广东发票的条码属于version10(57x57),解读和debug基本也是依靠这个条码来。
目标:了解解码原理,解读部分条码难度的原因,能否针对实际应用做一定的改进,比如处理前做一定的除噪,或者锐化,优化二值化的阙值设置,针对发票的红色边框和文字考虑去掉红色channel,避免打印错位造成无法处理。
QRCode的解码比较复杂,相信看过里面的数据分区就会觉得头皮发麻,特别是不同版本的读取区域又有所不同,所以基本上了解它的原理和读取方法即可。比较重要的还是识别定位点,三个定位点出来就可以获得条码的位置了,也可以做旋转并进一步处理。
首先对图像做了灰度化处理,处理位8bit的灰色图形,不过没有采用预料中的0.3r+0.59g+0.11b,而是直接绘制到content中转换,不知道效率和效果如何。
图形二值化看不出在哪里处理,貌似看到有一处居然是模糊化的函数,不接,而且这个函数确实被调用过。
1 zxing对于旋转一定角度的发票识别效果不好,是抓不到定位点还是其他原因呢?理论上来说旋转应该对抓取定位点影响不大。
2 条码定位点接触到任何神色的点必然影响效果,例如红色表格线,或者连线纸的孔,甚至版本区也会受影响,或者可以尝试取消红色channel,并取消对定位点最后一道线的检测要求,并根据这个形成的边界吧右边的边界清空为白色,避免影响数据读取(可能没有,确定矩形后应该不会读取矩形外的区域吧?)。
//************************************************************************************
* 消对定位点最后一道线的检测要求,修改后效果还可以
* 取消红色channel,效果待检测。。。
分享到:
相关推荐
1. **导入库**:根据所使用的开发环境(如Android Studio或Eclipse),将ZXing源码导入到项目中,或者通过依赖管理工具(如Gradle或Maven)添加ZXing库的依赖。 2. **配置权限**:对于Android应用,需要在...
本文将深入探讨如何在Android项目中修改Zxing源码,以解决中文乱码问题、从相册获取二维码图片进行解析、实现横屏到竖屏的切换以及添加闪光灯功能。 首先,解决中文乱码问题通常涉及到字符编码设置。在Zxing中,...
这个压缩包包含ZXing的源码和预编译的库文件,这使得开发者可以直接使用库进行条形码相关的开发工作,而无需从零开始构建整个项目。 ZXing源码提供了丰富的API,支持多种编程语言,如Java、C#、Python等。源码中的...
**Android应用源码之ZXing解析** ZXing(Zebra Crossing)是一款开源的、多平台的条形码读取库,广泛应用于移动设备上。它提供了多种条形码和二维码的扫描、生成功能,包括QR码、Data Matrix、Aztec、UPC、EAN等。...
这个压缩包包含了ZXing的核心库`core-2.2.jar`和针对Android平台的示例源码。 `core-2.2.jar`是ZXing的核心库,它包含了条码解码的关键算法和数据结构。这个库不依赖于任何特定的平台,可以在Java运行环境中使用。...
zxing 源码分析——DataMatrix 码部分 本文主要讲述了 zxing 源码中 DataMatrix 码部分的代码结构和解码流程。DataMatrix 码是一种二维码,zxing 是一个 Java 库,用于解析和生成各种二维码。 在 zxing 源码中,...
- 如果对ZXing默认的扫描界面不满意,可以编译ZXing的源码,修改`CaptureActivity`以满足自己的UI设计需求。 - 你还可以实现自定义的扫描框、动画效果或处理扫描逻辑。 2. **功能扩展** - 对ZXing的源码进行修改...
在ubuntu上安装cmake,然后使用cmake编译zxing源码测试 1.官网下载https://cmake.org/download/ cmake 2../bootstrap make -j8 sudo make install 3.查看安装是否成功 cmake --version 出现版本即可 4.解压zxing源码...
本文将深入探讨ZXing源码,解析其在Android应用中的实现原理。 **一、ZXing简介** ZXing最初由Google开发,旨在提供一个通用的条形码和二维码解码框架。它支持多种编码格式,如QR码、Data Matrix、UPC、EAN等。...
这里我们主要关注的是ZXing的Android版3.2源码,这是一个专门针对Android平台优化的版本。 ZXing Android版3.2的源码包含了对Eclipse项目的适配,这意味着开发者可以直接在Eclipse集成开发环境中打开并编译该项目,...
《Android Zxing条码扫描源码解析》 在Android应用开发中,Zxing(又称为ZXing,意为“快速可扩展的二进制解码”)是一个强大的开源项目,专注于各种类型的条码扫描和生成。它提供了跨平台的库,使得开发者能够轻松...
在Android开发中,ZXing(Zebra Crossing)库是一个广泛使用的开源项目,它提供了条形码和二维码的扫描与生成功能。ZXing是Java编写的,但通过Android端的ZXing库,我们可以轻松地在Android应用中实现二维码扫描。本...
在“ZXing.Net-master”这个压缩包中,包含的是ZXing.Net项目的最新源码,时间戳为2017年。这表明你拿到的是该项目在2017年的主分支(master)代码,通常意味着这是当时最稳定、功能最完整的版本。源码对于开发者来...
Zxing二维码扫描 zxing3.0源码
**Zxing 源码解析与使用** Zxing(又称为ZXing,读作“zebra crossing”,斑马线)是一个开源的、跨平台的条形码和二维码解码库。它支持多种编码格式,包括QR码、Data Matrix、Aztec、PDF417以及一维条形码如UPC、...
【源码集成ZxingDemo】是一个专为Android平台设计的项目,它展示了如何将Zxing开源库的源代码直接整合到你的应用中,而非通过预编译的JAR或者远程依赖来实现。这种方式的优点在于,开发者可以直接访问和修改Zxing的...
总之,ZXing 3.3.3版本提供了强大的二维码扫描功能,并且源码开放,方便开发者深入理解其工作原理,进行二次开发和优化。无论是小型应用还是大型系统,ZXing都能作为可靠的条码处理工具,提升用户体验。
这里我们将深入探讨ZXing官方源码以及如何将其集成到Android项目中。 首先,我们来看一下`zxing-2.3.1`和`zxing-3.2.1`这两个版本。这两个版本间的差异主要体现在功能优化、性能提升以及对新条码格式的支持上。...