之前我有移植过zbar和zxing源码到linux平台,zbar移植的是C源码,zxing移植的是C++代码。两者对比:
1.zxing支持更多的码制:datamatix、PDF417、等,zbar不能很好支持PDF417(但是在源码中有对于Pdf417码处理)。
2.zxing的执行解码效率低于zbar,从耗费内存空间角度看,zbar更适合嵌入式设备开发,大部分手机app的解码采用的是zxing,因为zxing当初就是面向android开发的。
3.zbar和zxing 两者都不能 很好的支持 条码扫描,在摄像头分辨率低,目标条码打印在曲面上或者目标条码密集或扫描角度非垂直的情况下,很难识别,且条码扫描会产生误读,这种致命缺点致使激光扫描头任然为条码识读领域的工业级设备。
4.zxing在解码运算中执行的浮点运算非常耗时,一般不支持浮点运算的CPU在做图像处理方面会严重延时,我曾将zxing中的图像转换部分浮点转整形后导致扫描PDF417图形结果错误。
5.两者在扫描QR码方面基本没有什么差异,都能准确快速的接触码值。