树莓派下安装pyzbar库,识别二维码/条形码,实现中文识别

一、源码安装

1、wget命令用来从指定的URL下载zbar源码,命令如下:
wget http://downloads.sourceforge.net/project/zbar/zbar/0.10/zbar-0.10.tar.gz
下载不成功的话,先用电脑下载zbar-0.10.tar.gz,上传到树莓派的目录下

2、解压zbar的源文件,解压至当前目录下的zbar-0.10文件夹
tar -zvxf zbar-0.10.tar.gz

3、zbar是基于C语言开发的,安装编译时需要编译器,安装python-gtk和libqt4-dev
sudo apt-get install python-gtk2-dev

报错
E: Unable to locate package python-gtk2-dev

sudo apt-get install libqt4-dev

报错
Package libqt4-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

若没有报错,可以继续执行第4步。若报错,请放弃这种方法,直接用方法二。

4、进入zbar-0.10文件夹,运行configure 命令如下,此步运行成功生成makefile。
./configure --without-imagemagick -disable-video -without-qt -without-gtk -without-x

5、编译makefile
make

6、make安装:
sudo make install

注意:第4步安装时要进入/home/pi/zbar-0.10目录,第5、6步安装时可能会出现错误,但是并不影响使用。

改变编码格式
ZBar是日本人写的,若要识别带有中文文字的二维码,需要在安装的时候加个小插曲,需要修改一下ZBar源文件里面的函数:修改源文件下zbar-0.10/zbar/qrcode/qrdectxt.c
终端使用nano或者vim编辑器修改zbar-0.10/zbar/qrcode/qrdectxt.c函数,以下该步骤需要在下载完源码后进行,修改完成后再进行编译和安装。
1、打开qrdectxt.c,采用vim编辑器
2、找到默认编码的函数,修改编码,将 ISO8859-1,换成 GB18030;将SJIS,换成GB2312
在这里插入图片描述
3、找到默认编码定义的list,修改解码编码顺序
在这里插入图片描述
调用包的时候用import zbar

二、直接安装

本人由于源码安装无法安装依赖环境,在尝试无法解决之后,就采用了直接的粗暴安装。
安装之后发现,他也可以识别中文,并不像网上其他博客说的无法识别中文。

Linux下
pip install pyzbar
sudo apt-get install zbar-tools

Windows下
pip install pyzbar
pip install pyzbar[scripts]

几句话就好了,十分快速

其他博客有说 pip install zbar 之类的,我尝试之后都不行。在使用本安装方法之后,本人在Linux和Windows下都成功应用,并识别中文二维码。

Linux下在调用包的时候用from pyzbar import zbar
Windows下在调用包的时候用import pyzbar.pyzbar as pyzbar

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-Harvey

感谢您的认可,无限飓风不断进步

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值