这两天看zxing的代码,只针对QRCode部分,首先还是对QRCode的版本和来源做一定的了解,广东发票的条码属于version10(57x57),解读和debug基本也是依靠这个条码来。
目标:了解解码原理,解读部分条码难度的原因,能否针对实际应用做一定的改进,比如处理前做一定的除噪,或者锐化,优化二值化的阙值设置,针对发票的红色边框和文字考虑去掉红色channel,避免打印错位造成无法处理。
QRCode的解码比较复杂,相信看过里面的数据分区就会觉得头皮发麻,特别是不同版本的读取区域又有所不同,所以基本上了解它的原理和读取方法即可。比较重要的还是识别定位点,三个定位点出来就可以获得条码的位置了,也可以做旋转并进一步处理。
首先对图像做了灰度化处理,处理位8bit的灰色图形,不过没有采用预料中的0.3r+0.59g+0.11b,而是直接绘制到content中转换,不知道效率和效果如何。
图形二值化看不出在哪里处理,貌似看到有一处居然是模糊化的函数,不接,而且这个函数确实被调用过。
1 zxing对于旋转一定角度的发票识别效果不好,是抓不到定位点还是其他原因呢?理论上来说旋转应该对抓取定位点影响不大。
2 条码定位点接触到任何神色的点必然影响效果,例如红色表格线,或者连线纸的孔,甚至版本区也会受影响,或者可以尝试取消红色channel,并取消对定位点最后一道线的检测要求,并根据这个形成的边界吧右边的边界清空为白色,避免影响数据读取(可能没有,确定矩形后应该不会读取矩形外的区域吧?)。
//************************************************************************************
* 消对定位点最后一道线的检测要求,修改后效果还可以
* 取消红色channel,效果待检测。。。
分享到:
相关推荐
Android 实现二维码扫描 ZXing源码 Github源码下载 包括
包含zxing源码和已经编译好的lib,包含zxing源码和已经编译好的lib。
github上zxing的源码,github下载速度慢特意分享在此,集成教程我写在博客
安卓Android源码——ZXing示例源码和核心core包.zip
提供Android 的中文乱码解决 提供从相册获取二维码照片解析 横屏切换为竖屏 提供闪光灯功能
其中zxing源码需要根据实际情况做一定的修改,大体是不用修改的。
zxing源码分析——QR码部分,详细说明了qrcode的结构
Android应用源码之ZXing示例源码和核心core包
zxing 源码,二维码的扫描,复制android 和android-score 下的文件到自己的项目,复制android res 下的资源文件到自己目录。
ZXing android版3.2源码,已经整理好Eclipse项目,可直接编译运行; 内含测试项目
zxing源码分析——DataMatrix码部分,详细阐述了DataMatrix码部分的代码结构
Zxing二维码扫描 zxing3.0源码
Zxing源码行程可运行程序Demo不需要生成什么jar,也不需要添加远程依赖。。全部使用源码集成,方便维护个性化改造等。
两个二维码扫描的demo,网上找的资源,共享给大家。其中一个为简化版本,可以很好的集成到自己的程序上。
zxing-QR码源码项目(拍照生成)zxing-QR码源码项目(拍照生成)zxing-QR码源码项目(拍照生成)
基于Zxing的精简扫描例子源码,扫描的时候可以自动聚焦、竖屏、不拉伸
android ZXing源码,版本4.3.1,是目前最新的版本,解压后导入Eclipse可以直接运行。
ZXing示例源码和核心core包,简单易懂,非常方便!欢迎下载
集成Zxing二维码扫描,可从相册选择图片扫描、开启闪光灯、生成二维码图片功能