用OpenCV和Python识别二维码和条形码

本文介绍了如何结合OpenCV和Zbar库,使用Python创建实时二维码和条形码扫描器,包括在树莓派上的部署。首先,详细讲解了Zbar的安装和配置,然后通过示例代码展示了如何处理单张图片和实时视频流中的条形码和二维码。最后,展示了在树莓派上成功运行此扫描器的实例。
摘要由CSDN通过智能技术生成

计算机视觉专家Adrian Rosebrock近日分享了如何借助OpenCV和Zbar,编写出能够实时识别二维码和条形码的扫描程序,最后部署在树莓派上,成功制作一款实用的条形码&二维码扫描设备。

最近有朋友问我(作者Adrian Rosebrock——译者注)OpenCV里有没有什么模块能直接识别条形码和二维码,很遗憾,答案是没有。但是OpenCV能够加快读取条形码和二维码的过程,包括从硬盘加载图像,从视频流中抓取新的帧,并进行处理。 等我们获取图像或视频帧后,就可以将其传入Python中专用的条形码解码库,比如Zbar。 然后Zbar会对条形码或二维码进行解码。OpenCV可以接着执行进一步的图像处理工作以及展示结果。 听起来有些复杂,其实整个处理过程相当简单明了。程序库Zbar也衍生了很多变体,其中pyzbar是我的最爱。

在本文,我会教你怎样用OpenCV和Zbar读取条形码和二维码。而且,我还会展示怎样将我们制作的这个条形码&二维码扫描仪部署到树莓派上!!

使用OpenCV和ZBar打造一款条形码及二维码扫描仪

本文主要分为四部分。

  • 在第一部分,我会教你如何安装Zbar库(Python绑定)。
  • Zbar库会连同OpenCV一起用于扫描条形码和二维码。
  • 等正确配置好Zbar和OpenCV以后,我会展示如何用它们扫描一张图像上的条形码和二维码。
  • 先识别一张图像上的条形码和二维码练练手后,我们就进入下一阶段:用OpenCV和Zbar实时读取二维码和条形码。
  • 最后,我会展示如何将制作好的实时二维码&条形码扫描仪部署到树莓派上。

安装Zbar(带Python绑定)用于解码条形码&二维码

前段时间Staya Mallick在LearnOpenCV博客上发表了一篇实用教程,讲解如何用Zbar扫描条形码。

本文关于Zbar安装部分基本上是根据这篇博文的指导,但是做了一点改进,主要是围绕安装Python Zbar绑定部分,目的是确保我们能:

使用Python3(官方Zbar Python绑定只支持Python 2.7) 准确地检测和定位图像中二维码及条形码

安装所需的软件,只需简单三步。

第一步:从apt或brew库中安装Zbar

在Ubuntu或树莓派上安装Zbar

$ sudo apt-get install libzbar0
复制代码

在MacOS系统中安装Zbar

使用brew在macOS系统中安装Zbar也很容易(假定你已经安装了Homebrew):

$ brew install zbar
复制代码

第二步:创建一个虚拟环境,安装OpenCV。

这里你有俩个选择: 使用现成的已经安装好了OpenCV的虚拟环境(跳过这一步,看第三步)。 或者创建一个新的独立的虚拟环境,安装OpenCV。

虚拟环境对于Python开发来说是非常实用的做法,我非常鼓励使用虚拟环境。

我选择创建一个新的独立的Python 3 虚拟环境,然后安装了OpenCV,并将环境命名为barcode:

$ mkvirtualenv barcode -p python3
复制代码

注:如果你已经安装好了OpenCV,就可以跳过OpenCV编译过程,只需将你的cv2.so绑定符号链接(sym-link)入你的新Python虚拟环境中的site-pakages目录。

第三步:安装Pyzbar 现在我已经安装了Python 3

虚拟环境,命名为barcode,然后激活了barcode环境,安装pyzbar:

$ workon barcode
$ pip install pyzbar
复制代码

如你不是用的Python 虚拟环境,只需:

$ pip install pyzbar
复制代码

如果想将pyzbar安装到Python版系统中,确保你也使用sudo命令。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值