树莓派下安装zbar库,实现中文识别

一、源码安装

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

你可能感兴趣的:(树莓派,linux,opencv,python)