ZBar和Zxing的区别

ZBar与ZXing使用后感觉(上) 最近对二维码比较感兴趣,还是那句老话,那么我就对比了一下zxing和zbar 如果对于这两个的背景不了解的话,可以看我以前的文章,介绍了几个比较基础的知识。 首先,现在有个很好用的cocoapods第三方库管理工具,至于如何安装,那么以前分享过一片如何安装cocoapods的介绍。 如果这两点你都满足的话,可以继续这个对比拉,其实为什么不直接从github下载一步步配置编译呢?至少我觉得co 阅读详情

ZBar可以直接扫二维码和条形码, 

ZXing可以直接扫二维码, 如果要扫条形码,则需要去改改代码花点功夫了。

同样, ZBar和ZXing的源码我们也是可以找到的, 

只是ZBar的源码找起来比较费功夫, 但在其官网还是可以找到, 找到后, 由于ZBar的源码包括了在其它各个平台的源码, 比如Mac, Python,等, 源码比较乱, 看起来有点费事, 而且最重要的是编译起来链接的东西太多, 又是运行脚本,又是安装什么库的, 感觉国外的这种库吧,给人使用倒是方便,但要是去进行维护还真不太容易。所以尽管我已经找到这个ZBar的开源码,但我从来都没有真正的把它完整地编译出来过, 自我鄙视一把。只好有空再深入研究一下了。(注:由于ZBar对中文支持不是很理想,所以要想彻底地用好ZBar,还是需要去读懂这个源码,并能真正地编译出来。)

而ZXing就比较好了, 直接给的就是源码, 也不整什么.a库的真是方便。 只是之前我下载了ZXing后, 直接使用其例子发现,例子中的代码确实只能做二维码的识别, 不能做条形码的扫描。 研究了一下又在网上找了一下, 结果发现稍做修改,还是可以让ZXing支持条形码和二维码的同时识别的, 代码稍侯就贴出来。本人亲自试过,确实可行。

总结地来说, ZBar使用起来比ZXing相对方便一点, 也就是更像是 卡片机与单反相机的区别。但如果需要修改代码的话,做一些自定义什么的,建议使用ZXing, 如果只是想随便用用的话, 建议使用ZBar.

好,话不多说, 下面说说如何使ZXing改改后可以支持扫条形码。

1.在- (IBAction)scanPressed:(id)sender方法中:
ZXingWidgetController*widController = [[ZXingWidgetControlleralloc] initWithDelegate:selfshowCancel:YESOneDMode:YES];
MultiFormatOneDReader*OneReaders=[[MultiFormatOneDReaderalloc]init];QRCodeReader* qrcodeReader = [[QRCodeReaderalloc] init];NSSet*readers = [[NSSet alloc] initWithObjects:OneReaders,qrcodeReader,nil];[qrcodeReader release];[OneReaders release];

2.在ZXingWidgetController.m的(void)captureOutput:(AVCaptureOutput *)captureOutput :方法中,注释掉以下方法

  if(oneDMode) {

   // let's just give the decoder a vertical band right above the red line

    cropRect.origin.x = cropRect.origin.x + (cropRect.size.width /2) - (ONE_D_BAND_HEIGHT + 1);

    cropRect.size.width = ONE_D_BAND_HEIGHT;

   // do a rotate

    CGImageRef croppedImg = CGImageCreateWithImageInRect(capture, cropRect);

    capture = [selfCGImageRotated90:croppedImg];

    capture = [selfCGImageRotated180:capture];

   //              UIImageWriteToSavedPhotosAlbum([UIImage imageWithCGImage:capture], nil, nil, nil);

    CGImageRelease(croppedImg);

    cropRect.origin.x =0.0;

    cropRect.origin.y =0.0;

    cropRect.size.width = CGImageGetWidth(capture);

    cropRect.size.height = CGImageGetHeight(capture);

  }


3. 将上面注释掉的代码向下数大概约20行处的代码:UIImage *scrn = [[UIImage alloc] initWithCGImage:newImage]; 改为:int backCameraImageOrientation = UIImageOrientationRight; UIImage *scrn = [[UIImage alloc] initWithCGImage:newImage scale: (CGFloat)1.0 orientation:backCameraImageOrientation];
4. 在OverlayView.m注释代码以下代码:
self.oneDMode = isOneDModeEnabled;

然后运行,会发现可扫条形码了, 还可以同时扫二维码, 真是太方便了。
ZBarBuildProj 该项目主要用于ZBar项目的源码编译,通过Android的NDK开发环境进行ZBar项目的源码编译重新生成so库文件,其中主要是为了修改ZBar项目的中文乱码问题。详细介绍请查看博客http://blog.youkuaiyun.com/skillcollege 立即下载

相关推荐

zxing和zbar的综合版本很高效的二维码扫描

zxing和zbar的综合版本很高效的二维码扫描,在Toast的地方可根据自己的要求进行相应的修改,扫码效率很高

二维码扫描之zxing与zbar

二维码扫描在日常的使用中非常广泛,特总结一波,并比较zxing与zbar的优劣之处 zxing与zbar对比: 1.zxing是谷歌开源,项目地址为:https://github.com/zxing/zxing,仍在维护,采用C++编写。zbar则是主要用C来写的,速度极快,推出了iPhone的SDK和Android的相关调用方法(JNI),但这个项目已经有几年不维护了,项目地址: htt...

水煮鱼在飞的博客 7063

001-基础入门-Web演示源码&资源&工具箱等

小迪安全2023笔记

wushangyu32335的博客 4256

探索ZxingZbar:一款强大的条码与二维码扫描库

探索ZxingZbar:一款强大的条码与二维码扫描库 在数字化的时代,条形码和二维码已经成为我们生活中不可或缺的部分。无论是商品信息的快速获取还是移动支付,它们都起着至关重要的作用。对于开发者而言,集成这样的功能到自己的应用程序中是常见的需求。在这里,我们要向大家推荐一个开源项目——,它是一个高效、易于使用的条码和二维码扫描库,专为Java和Android平台设计。 项目简介 ZxingZbar ...

gitblog_00046的博客 592

知识的定义与分类体系详解 - 从零基础到专业理解

知识的定义与分类体系详解 - 从零基础到专业理解

engchina的专栏 4361

SRAM:SRAM入门指南与工作原理

SRAM(Static Random Access Memory),即静态随机存取存储器,是一种能够读取和写入数据的内存(RAM)。它使用由晶体管组成的触发器来存储数据,只要有电源供应,数据就可以稳定地保存。与动态随机存取存储器(DRAM)不同,SRAM 不需要周期性地刷新来保持数据。

weixin_42896509的博客 1万+

二维码扫描之zxing与zbar的优劣

之前我有移植过zbar和zxing源码到linux平台,zbar移植的是C源码,zxing移植的是C++代码。两者对比: 1.zxing支持更多的码制:datamatix、PDF417、等,zbar不能很好支持PDF417(但是在源码中有对于Pdf417码处理)。 2.zxing的执行解码效率低于zbar,从耗费内存空间角度看,zbar更适合嵌入式设备开发,大部分手机app的解码采用的是zxi

qishandaxue的专栏 5270

使用Clumsy和Process Explorer定位软件高CPU占用问题

使用弱网模拟工具Clumsy和进程查看工具Process Explorer定位软件高CPU占用问题。

dvlinker的技术专栏 5706

Android扫一扫(ZXing与ZBar整合)

导入java类,ZBar-master\java\net\sourceforge\zbar所有类都cp到module来,注意:包名不要改,这边和zbarjni.c对应着;App基本都用到扫码功能(条码、二维码),网上资源一大把,搬过来就能用,确实能用,但应该还能更好用,经过几次与大厂对比,索性自己搞一个;ZBar中文乱码,修改ZBar源码,src/main/jni/zbar/qrcode/qrdectxt.c在63行处,修改如下。进入/android-ndk-r17c/build/tools,运行命令。

u011077162的博客 2028

AI 实战篇 |基于 AI开放平台实现 人脸识别对比 功能,超详细教程【附带源码】

本篇文章来学习一下怎样使用 Unity实现简单地人脸识别 功能。 关于人脸识别,我们可以选择很多平台的SDK接入Unity来实现人脸识别的功能。

努力前行,总会成为自己心中的那道光 5万+

【深度学习新浪潮】气候预测模型的研发进展一览(2025年版)

模型类型核心优势适用场景不足ARIMA(统计模型)简单高效、可解释性强短期单变量预测非线性、长时依赖建模差随机森林(机器学习)多特征融合、抗噪声中短期多因素预测空间相关性、时序趋势捕捉弱LSTM(深度学习)长时依赖建模、端到端中长期时序预测物理一致性差、数据需求量大物理知情AI物理规律约束、高可靠性极端天气、长期气候变化模型复杂、计算成本高。

专注:太空算力、AI infra、异构调度、大模型成本工程 527

Zxing vs ZBar

Zxing vs ZBar 转载于:https://www.cnblogs.com/ZacharyHodgeZou/p/3962352.html

weixin_30300523的博客 174

一次点击跑通:用 Postman 自动获取并携带 CSRF token,测试 SAP OData 写操作

SAP OData 写操作自动化测试方案 针对 SAP Gateway OData 服务写操作中常见的 CSRF token 验证问题,本文提出了一套基于 Postman 的自动化解决方案: 问题分析:解释了 CSRF token 的验证机制及其必要性,说明手工测试效率低下的原因 解决方案: 使用 Postman 环境变量存储 token 通过脚本自动获取并传递 token 利用 Collection Runner 实现一键执行 实施步骤: 创建环境变量存储 token 第一个请求获取 token 并存入变

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 301

android 图片二维码识别和保存(一)

最新业务开发二维码识别的功能,这个功能,在很多应用上都有,比如微信长按图片识别二维码,如果图片中存在可以识别的二维码时,可以增加一个选项 识别二维码。那么如何去实现这个功能呢。这里其实也非常简单,首先对图片进行二维码识别,识别结果返回的时候判断是否有二维码,有则增加识别二维码选项。 对于识别二维码,目前主流的就是zxing和zbar,对于这...

weixin_33743703的博客 999

这才是 Python 的正确玩法!用强化学习 (RL) 训练 AI 玩《王者荣耀》,胜率 90%!

大家打排位时,一定遇到过那种“意识神级、操作零失误”的对手,或者“走位呆滞、送人头”的队友。以前的“人机”是程序员写死的脚本(If 血量<20% Then 回城)。而现在的顶级 AI(如腾讯绝悟、OpenAI Five),是靠强化学习 (Reinforcement Learning)自己“左右互搏”练出来的。今天,我们不谈枯燥的数学公式,我将手把手教你用,搭建一个能玩 MOBA 游戏的 AI Agent。即使不能去 KPL 打职业,虐一下钻石局还是绰绰有余的!

BUG猿的博客 1182

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android 二维码扫描 高仿微信识别率高(封装成sdk) 靠近放大 图片二维码识别 pad通用

1.二维码动画 2.zxing和zbar的区别 3.功能介绍 扫描二维码 生成logo 图片的二维码识别 4.原理和重要的类 5.扫描识别率低的问题 6.扫描二维码放大效果 7.相机框架和效果分析 Android中二维码扫描的最常用库是zxing和zbar,zxing项目地址为https://github.com/zxing/zxing, 目前还有多个人在维护。zbar...

深南大盗的博客 7416

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

progress第三方框架和二维码第三方框架的选择

1.progress MBProgress:支持ARC/MRC,没有素材包,程序员需要针对框架进行一定的定制才能使用 SVProgressShud:只支持ARC,支持较新的苹果API,使用更简单,提供素材包 2.二维码框架: zxing:andriod用的多 zbar:iOS用的多 但是都不支持64位,系统方法支持,但是系统方法不支持图片识别,只支持通过摄像头扫描识别 转载于:http...

weixin_30474613的博客 104

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

云炬Android开发笔记 16附加功能开发(二维码,一键分享,分页,搜索)

阅读目录 1.二维码高性能解决方案 1.1推荐的库的使用 1.2 扫描到数据回调的处理 2. 一键分享功能的使用 2.1 第三方功能的使用 2.2 逻辑增加 2.3 编译测试 3.分页功能实现 4. 搜索功能的实现 回到顶部 1.二维码高性能解决方案 回到顶部 1.1推荐的库的使用 【添加依赖】zxing是谷歌纯java写的;zbar是日本纯c写的,效率高; 【动态权限的添加】 【二维码事件处理的delegate】 【扫描vie...

科大云炬 346

zbar和zxing之间的对比

zbar移植的是C源码,zxing移植的是C++代码。两者对比: 1.zxing支持更多的码制:datamatix、PDF417、等,zbar不能很好支持PDF417(但是在源码中有对于Pdf417码处理)。 2.zxing的执行解码效率低于zbar,从耗费内存空间角度看,zbar更适合嵌入式设备开发,大部分手机app的解码采用的是zxing,因为zxing当初就是面向android开

道的博客 1万+

Qt之二维码扫描

简述 二维码(QR Code)是用某种特定的几何图形按一定规律在平面(二维方向)分布的黑白相间的图形记录数据符号信息的。是所有信息数据的一把钥匙。应用十分广泛,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理、信息传递、名片交流、wifi共享等。 二维条码常用的码制: Data Matrix、MaxiCode、Aztec、...

weixin_30621959的博客 248

关于ZBar和ZXing二维码和条形码

之前做了一些关于一维码二维码识别与生成的工作。在这里总结一下子。 显然做这个我们不会花大量力气去自己来写这个识别过程, 这之间可能会包括人工识别方面的工作, 所以为了偷懒,便想到了去网上找这样的开源工具, 呵呵, 你别说, 还真找到两个, 即ZBar和ZXing.  去他们的官网一看, 得出以下结论: ZBar可以直接扫二维码和条形码,  ZXing可以直接扫二维码, 如果

西江月 1056

Android条码扫描ZBar和ZXing浅谈

平时手机上各种软件几乎都会用到条码扫描的功能,像微信和我查查等,扫描速度确实很快。但究竟是如何实现扫描和解码的呢?没有接触到移动开发的时候确实感到很好奇。最近公司在写一个Android项目,其中有一个模块是条码扫描。作为移动开发的新手,刚接到这个项目时候觉得知识很有限,无从下手。只能在网上查找各种有关条码扫描的资料和教程,终于了解到两个开源项目:ZBar和ZXing。         其实这

u014290023的专栏 4017

关于Zbar和ZXing这两个无比强大的二维码和条形码识别工具

之前做了一些关于一维码二维码识别与生成的工作。在这里总结一下子。 显然做这个我们不会花大量力气去自己来写这个识别过程, 这之间可能会包括人工识别方面的工作, 所以为了偷懒,便想到了去网上找这样的开源工具, 呵呵, 你别说, 还真找到两个, 即ZBar和ZXing.  去他们的官网一看, 得出以下结论: ZBar可以直接扫二维码和条形码,  ZXing可以直接扫二维码, 如果

2407

关于Zbar和ZXing这两个无比强大的二维码和条形码识别工具 .

之前做了一些关于一维码二维码识别与生成的工作。在这里总结一下子。 显然做这个我们不会花大量力气去自己来写这个识别过程, 这之间可能会包括人工识别方面的工作, 所以为了偷懒,便想到了去网上找这样的开源工具, 呵呵, 你别说, 还真找到两个, 即ZBar和ZXing.  去他们的官网一看, 得出以下结论: ZBar可以直接扫二维码和条形码,  ZXing可以直接扫二维码, 如果要扫条形码,则需

_听雨眠的专栏 1501
上一篇: iOS7 120x120应用程序图标
下一篇: IOS上的图形和动画处理 CORE GRAPHICS
focusjava
博客等级 码龄14年 127粉丝 528原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值