iOS ZBarSDK 用ZBarReaderView自定义二维码扫描界面

RV1126笔记四十:基于Zbar的二维码识别 为什么写二维码识别,二维码识别在日常生活中很常见到。相关的领域有很多,这里介绍一下,Wi-Fi 智能硬件配网什么是配网狭义上配网是指 WiFi 终端设备获取路由器的 SSID/password 等信息并与路由器建立链接的过程。实际上还有一个绑定的过程,即将设备与账户发送到云端进行绑定。1、一键配网(smart config)2、设备热点配网(AP 配网)3、蓝牙配网4、其他(语音识别/扫码识别)这里的扫码识别大部分为二维码识别,在嵌入式中常用的是Zbar.1、ZBar是什么。 阅读详情

ZBar为我们提供了两种使用方式,一种是直接调用ZBar提供的ZBarReaderViewController打开一个扫描界面,另一种方式是使用ZBar提供的可以嵌在其他视图中的ZBarReaderView,实际项目中我们更可能会使用第二种方式,这可以让我们对界面做更多的定制。

ZBar使用起来也非常简单,将ZBarSDK导入项目,在需要使用ZBar的文件中导入ZBarSDK.h头文件即可,以下是ZBarReaderView的初始化方法:

ZBarReaderViewreaderView = [[ZBarReaderViewalloc]init];
readerView.frame = CGRectMake(0, 44,self.view.frame.size.width,self.view.frame.size.height - 44);
readerView.readerDelegate = self;
//关闭闪光灯
readerView.torchMode = 0;
//扫描区域
CGRectscanMaskRect = CGRectMake(60,CGRectGetMidY(readerView.frame) - 126, 200, 200);
    
//处理模拟器
if (TARGET_IPHONE_SIMULATOR) {
   ZBarCameraSimulator *cameraSimulator 
       = [[ZBarCameraSimulatoralloc]initWithViewController:self];
   cameraSimulator.readerView = readerView;
}
[self.view addSubview:readerView];
//扫描区域计算
readerView.scanCrop = [selfgetScanCrop:scanMaskRectreaderViewBounds:self.readerView.bounds];

[readerView start];

以上代码需要说明的有以下几点:

  1. 闪光灯设置
    我不希望在扫描二维码时开启闪光灯,所以将ZBarReaderView的torchMode设为0,你可以将它设置为其他任何合适的值。
  2. 扫描区域计算
    这点比较重要,我们常用的二维码扫描软件的有效扫描区域一般都是中央区域,其他部分是不进行扫描的,ZBar可以通过ZBarReaderView的scanCrop属性设置扫描区域,它的默认值是CGRect(0,0, 1,1),表示整个ZBarReaderView区域都是有效的扫描区域。我们需要把扫描区域坐标计算为对应的百度分数坐标,也就是以上代码中调用的getScanCrop:readerViewBounds方法,亲测没有问题,如下所示:

 

-(CGRect)getScanCrop:(CGRect)rectreaderViewBounds:(CGRect)readerViewBounds
{
    CGFloatx,y,width,height;
    
   x = rect.origin.x / readerViewBounds.size.width;
   y = rect.origin.y / readerViewBounds.size.height;
   width = rect.size.width / readerViewBounds.size.width;
   height = rect.size.height / readerViewBounds.size.height;
    
   return CGRectMake(x,y, width, height);
}

PS:在网上找到很多这个方法都是将横坐标和纵坐标交叉,这样是有问题的,仔细想一下就会明白。

初始化部分完成之后,就可以调用ZBarReaderView的start方法开始扫描了,需要让你的类实现ZBarReaderViewDelegate协议,在扫描到二维码时会调用delegate的对应方法。最后,当二维码已经识别时候,可以调用ZBarReaderView的stop方法停止扫描。如下所示:

- (void)readerView:(ZBarReaderView *)readerViewdidReadSymbols:(ZBarSymbolSet *)symbolsfromImage:(UIImage *)image
{
   for (ZBarSymbol *symbol in symbols) {
       NSLog(@"%@", symbol.data);
       break;
    }
    
   [self.readerView stop];
}
保姆级教程:手把手带你复现APFNet论文的RGBT目标跟踪模型(附完整代码与数据集配置) 本文提供了一份详细的APFNet论文复现指南,涵盖从环境搭建到模型测试的全流程。通过解析多模态融合模块和渐进式训练流程,帮助读者高效完成RGBT目标跟踪模型的复现工作,特别针对训练和测试中的常见问题提供实用解决方案。 阅读详情

相关推荐

Ubuntu系统下USB无线网卡无法识别的解决方案

Realtek的USB设备可能是无线网卡、有线网卡、读卡器等,系统仅知道“这是Realtek的USB设备”,但不知道“如何将其作为无线网卡驱动”。通过以上步骤,RTL8812AU 芯片的 Edimax 无线网卡应能被 Ubuntu 识别并正常工作。Realtek等品牌的无线网卡可能被系统简单识别为"USB设备",但未匹配到对应的无线驱动,导致设备无法发挥网络功能。是系统识别了USB设备,却未正确加载无线网卡驱动。(前4位是厂商ID,后4位是产品ID),显示设备已识别,但网络管理工具无反应,

极地星辰 3461

ZBar二维码扫描

ZBar是一个开源库,用于扫描、读取二维码和条形码。支持的二维码包括:EAN/UPC,QR等。可以扫描含有链接的二维码,并且读取到结果后直接跳转到对应的链接。 调试中出现。 本次学习做了两个功能,一个是对二维码的扫描,另一个是生成二维码。 对二维码扫描要在真机测试。 要添加的库 QuartzCore.framework/CoreVideo.framework/Core

学习笔记 4675

【python】import pandas as pd用法

是 Python 里最常用的数据分析库之一。 的意思是:导入 pandas 库,并给它起个别名 。这样用起来更简洁: 下面总结 pandas 的常见用法(配例子)。目录🔹 1. 数据结构(1) Series(一维数据,类似于数组 + 标签)(2) DataFrame(二维数据表,类似于 Excel 表格)🔹 2. 数据读写🔹 3. 数据查看🔹 4. 数据选择与索引🔹 5. 数据清洗🔹 6. 数据运算🔹 7. 数据筛选(布尔索引)🔹 8. 分组与聚合🔹 9. 排序 Pandas 常用方

2401_86285609的博客 1531

使用zbar库识别条形码与二维码

QR 码是一种高密度矩阵条码,Quirc是一个基于C/C++的一个二维码库 ,从图像中提取和解码QR 码。其部分功能还需依赖OpenCV库共同实现,比如quirc-demo-opencv(即图形的显示);inspect-opencv(测试)。1.足够快,可以用于实时视频:在现代x86内核上,从VGA帧提取和解码大约需要50毫秒。2.具有鲁棒且宽容的识别算法。可以正确识别和解码旋转和/或倾斜于相机的QR码。它还可以区分和解码同一图像中的多个代码。

m0_74259636的博客 7851

声纹识别初学

最近开始关注声纹识别技术,发现国内做这个的确实没有几家,而且大多重点推声纹认证,用在公安司法金融领域,而我却关注文本无关的声纹识别,这里把我搜到的一点资料汇总在此. 发现njustzj001的专栏有两篇文章适合入门的我,贴下链接: 综述:  http://blog.youkuaiyun.com/xmu_jupiter/article/details/47209961 PLDA解释:  http://

u013452331的专栏 2758

Ubuntu 22.04 “软件与更新”装了NVIDIA驱动,WiFi等设备不见了

在Win10装了Ubuntu22.04的双系统,台式机里面有NVIDIA 3080Ti的独立显卡,Ubuntu默认使用的nouveau驱动,需要更换成NVIDIA相应的驱动,在软件和更新里面一键安装了NVIDIA-driver-535-server之后,发现wifi、蓝牙等设备消失了。这个问题的根源据说跟这个nouveau驱动有关,希望linux社区可以解决这个问题。命令安装后 sudo reboot就可以重新看到WiFi以及蓝牙等设备图标了。然后用U盘拷贝到不能上网的Ubuntu22.04系统上,利用。

me_ysd的博客 5853

ZBar扫描二维码第三方的使用方法

最近在做的项目中需要用到二维码扫描功能,之前在Android中使用过ZXing识别二维码,ZXing也有对应的iOS版本,经过了解,ZBar也是一个常用的二维码识别软件,并分别提供了iOS和Android的SDK可供使用,最终我选择了ZBar进行二维码识别,它的注释清晰,便于使用。 ZBar为我们提供了两种使用方式,一种是直接调用ZBar提供的ZBarReaderViewController

操作猛如虎的博客 1662

【招聘测评题】中的(行测)图形推理题基本逻辑总结(附例题)

参加招聘的时候,一般提交完简历就需要做测评试卷,测评里面除了性格分析的题,一般会有几十道类似公务员行测的素质测评题,让人很是挠头,据说题库多取自北森。刷题用处不大,这里总结一下图形推理题中常考的几个基本逻辑。

Yujian2563的博客 7万+

IOS 自定义ZbarSDK扫描界面

#1引用ZbarSDK *1)到ZbarSDK开源Github下载zip文件,https://github.com/arciem/ZBarSDK *2)使用Xcode4.6.3建立一个single view application project,项目名为"iOS自定义zbarsdk扫描界面"       (为方便测试,使用Xcode4.6.3,如果使用Xcode5以上版本的要注

Manson.7230 5447

别再手动调参了!用MATLAB+改进PSO算法,5步搞定机械臂轨迹优化(附完整代码)

本文介绍如何利用MATLAB和改进PSO算法快速优化机械臂轨迹规划,仅需5步即可完成传统耗时的手动调参过程。通过混沌初始化、自适应权重等创新方法,改进PSO算法显著提升优化效率,实现全局最优解搜索,适用于工业自动化中的机械臂控制。文章包含完整MATLAB代码实现,帮助工程师轻松应用于实际生产场景。

weixin_29232121的博客 354

Dify平台隐患url:/console/api/remote-files/upload暴露高危漏洞,配置nginx htpasswd模块认证机制屏蔽解决

内部网络探测: 攻击者可通过SSRF扫描内网服务云元数据访问: 可能访问AWS/Aliyun/腾讯云等元数据服务服务端请求伪造: 以服务器身份发起任意HTTP请求。

CN_Eden 1318

基于ZBard的二维码扫描

基于ZBard的二维码扫描

Nick_since2016的博客 618

18.EC实战 新建项目工程并配置各个引脚的工作方式(持续更新)

本博文介绍了从零开始新建EC工程及对各个引脚进行了工作模式的初始化配置

qq_30135687的博客 1731

Zbar SDK

ZBar SDK有两种使用方式: 1)直接调用 ZBarReaderViewController 打开一个扫描界面; 2)ZBar SDK提供的可以嵌入其他视图的ZBarReaderView(建议使用该方式,高度可自定义界面); 协议ZBarReaderViewDelegate 实现delegate

hk1206的专栏 458

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

二维码扫描之ZBarSDK使用详解

二维码扫描之ZBarSDK使用详解 一、简要说明 ZBarSDK集成了扫描二维码以及条形码功能。在iOS7.0之前iOS没有提供原生的二维码及条形码扫描功能,若要兼容iOS7.0之前的设备的话ZBarSDK是最佳选择。 二、集成方式 1、通过Cocoapods 将 pod 'ZBarSDK' 添加到Podfile文件中,然后在终端执行命令pod install在要使用的类

zyk5219的博客 2035

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ZBar 二维码扫描,

近在做的项目中需要用到二维码扫描功能,之前在Android中使用过ZXing识别二维码,ZXing也有对应的iOS版本,经过了解,ZBar也是一个常用的二维码识别软件,并分别提供了iOS和Android的SDK可供使用,最终我选择了ZBar进行二维码识别,它的注释清晰,便于使用。 ZBar为我们提供了两种使用方式,一种是直接调用ZBar提供的ZBarReaderViewController打

积土成山 积水成渊 5331

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

二维码扫描

二维码扫描,AVFoundation,ZBar,

qq_32510689的博客 3305

二维码框架ZBarSDK的使用和自定义二维码扫描界面方法

这是一个基于ZBarSDK的二维码扫描,完全自定义界面,简单实用,漂亮

狮子座的男人 1万+

iOS中使用ZBar扫描二维码自定义扫描界面

之前在Android中使用过ZXing识别二维码,ZXing也有对应的iOS版本,经过了解,ZBar也是一个常用的二维码识别软件,并分别提供了iOS和Android的SDK可供使用,最终我选择了ZBar进行二维码识别,它的注释清晰,便于使用。 ZBar为我们提供了两种使用方式,一种是直接调用ZBar提供的ZBarReaderViewController打开一个扫描界面,另一种方式是使用ZBa

zz_mm的专栏 1万+

IOS几种常见的实现扫描、生成二维码的方式(一、使用ZBar SDK)

IOS中的几种常见的扫描二维码方式(一、使用ZBar SDK)

jaybin的技术博客 7216

在iOS中使用ZBar扫描二维码和条形码

准备工作:

刘锦的专栏 1224

条形码,二维码扫描

条形码扫描的功能终于实现了,写此笔记以供自己复习之用,也能够帮助一些向我一样刚开始做IOS,刚开始熟悉二维码扫描功能的学习。做出来了,回头一看,其实很容易。非常感谢Oran的指点,是他让我能够快速的学会zbarsdk的使用方法。同时也教会了我怎么学习新知识的方法。 条形码、二维码扫描 sdk 已经封装好了实现的功能,我们要做的只是简单的几句代码就OK。 首先说一下原理,只有懂了原理才会

辰风的专栏 934

二维码扫描ZBarSDK的使用

1.使用ZBar项目。下载地址是: http://zbar.sourceforge.net/iphone/index.html 2.新建一个项目。 3.导入 ZBar的sdk。把ZBar SDK的目录拉入项目,然后选中copy选项 4.在项目文件的target中加入 以下framework 5.在appDelegate文件中加入 标记部分的代码 [cpp] v

NYH1006的专栏 1319
上一篇: 初探coreText
下一篇: App store最新审核标准(2015.3)公布
光速之年
博客等级 码龄12年 31粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值