在 Raspberry Pi 上使用 OpenALPR 做自己的车牌识别系统

OpenALPR 是一个使用 C++ 编写的开源自动牌照识别库,并包含 C#、Java、Node.js 和 Python 语言的绑定。该库能分析图像和视频流以识别车牌,而输出的内容则是任何车牌字符的文字形式。

因此,只要安装了 OpenALPR,我们就能够从单张照片或直播流中识别牌照。

步骤0:材料清单

我们所需要的东西有:

  • 运行有 Raspbian 的 Raspberry Pi 2 或者 3
  • 16 GB 的 microSD 卡

在安装之前,请执行下面的命令,将系统的软件包更新到最新版本:

sudo apt-get update
sudo apt-get upgrade

步骤1:安装必要的软件包

为了编译 openALPR,我们需要安装下面的依赖

apt-get install autoconf automake libtool
apt-get install libleptonica-dev
apt-get install libicu-dev libpango1.0-dev libcairo2-dev
apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
apt-get install python-dev python-numpy libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
apt-get install virtualenvwrapper
apt-get install liblog4cplus-dev
apt-get install libcurl4-openssl-dev

或者直接使用:

apt-get install autoconf automake libtool libleptonica-dev libicu-dev libpango1.0-dev libcairo2-dev cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev virtualenvwrapper liblog4cplus-dev libcurl4-openssl-dev

注意:基于另一个教程,我知道它可能会有 apt-get install 失败,并返回 “no package found”。在这种情况下,您必须手动找到缺少的包使用 apt-cache search ..... 可能发生的是,同时,包名称或版本已经更改,因此 apt 找不到。

步骤2:构建依赖

OpenALPR 需要使用如下的附加软件:

  • Tesseract OCR
  • OpenCV

其相应的安装、编译步骤如下所示。

安装 Leptonica

为了安装 Tesseract OCR,我们需要先安装 Leptonica。

Leptonica 是一个开源的图像处理和图像分析库,主要包括的操作有:位图操作、仿射变换、形态学操作、连通区域填充、图像变换及像素掩模、融合、增强、算术运算等操作。

为了编译 Leptonica,我们需要安装这些依赖包:

apt-get install libjpeg-dev libtiff5-dev libpng12-dev gcc make

然后下载包:

cd /usr/src
wget http://www.leptonica.org/source/leptonica-1.71.tar.gz
tar xf leptonica-1.71.tar.gz

编译,并执行安装:

/usr/src/leptonica-1.71
./configure
make
make install

安装 Tesseract OCR

Tesseract,一款由HP实验室开发由Google维护的开源OCR(Optical Character Recognition , 光学字符识别)引擎,与Microsoft Office Document Imaging(MODI)相比,我们可以不断的训练的库,使图像转换文本的能力不断增强;如果团队深度需要,还可以以它为模板,开发出符合自身需求的OCR引擎。

为了安装 Tesseract OCR,我们需要如下的软件包:

apt-get install ca-certificates git  
apt-get install autoconf automake libtool  
apt-get install autoconf-archive  
apt-get install pkg-config  

如果想安装训练工具,我们还需要:

apt-get install libicu-dev  
apt-get install libpango1.0-dev  
apt-get install libcairo2-dev  

从 GIT 克隆代码:

cd /usr/src  
git clone https://github.com/tesseract-ocr/tesseract.git  

查看可以使用的 tag 号:

cd /usr/src/tesseract  
git tag  

签出我们所需要的版本:

git checkout 3.04.01  

使用下面的命令安装:

cd /usr/src/tesseract  
./autogen.sh
./configure --enable-debug
make  
make install 

我们便能获取到相应的版本:

root@openalpr-tst01:/usr/src/tesseract# tesseract -v  
tesseract 3.04.01  
 leptonica-1.71
   libjpeg 6b : libpng 1.2.50 : libtiff 4.0.3 : zlib 1.2.8

安装 OpenCV

OpenCV 的全称是 Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV 是由英特尔公司发起并参与开发,以 BSD 许可证授权发行,可以在商业和研究领域中免费使用。 OpenCV 可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的 IPP 进行加速处理。

在 Raspberry Pi 上编译 OpenCV 需要大量的内存,因此我们需要创造出更多的交换空间:

fallocate --length 2GiB /root/2G.swap  
chmod 0600 /root/2G.swap  
mkswap /root/2G.swap  
swapon /root/2G.swap 

然后可以使用 free -m 查看内存使用。

接着,就可以下载 OpenCV 了:

cd /usr/src  
wget https://github.com/opencv/opencv/archive/2.4.13.zip  
unzip  2.4.13.zip  

然后编译并安装:

cd opencv-2.4.13  
mkdir release  
cd release  
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  
make  
make install  

安装 OpenALPR

1.下载代码:

cd /usr/src  
git clone https://github.com/openalpr/openalpr.git  

2.构建:

cd openalpr/src  
mkdir build  
cd build  
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc ..  
make  
make install  

如果中途出错,你可能需要下面的软件包:

apt-get install cmake  
apt-get install liblog4cplus-dev libcurl3-dev  
sudo apt-get install beanstalkd  
apt-get install openjdk-7-jdk  
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/  

步骤3:测试测试

使用下面的代码就可能测试安装:

wget http://plates.openalpr.com/h786poj.jpg -O lp.jpg  
alpr lp.jpg  

如果没有出错,如果将如下所示:

plate0: 8 results  
    - 786P0      confidence: 90.1703
    - 786PO      confidence: 85.579
    - 786PQ      confidence: 85.3442
    - 786PD      confidence: 84.4616
    - 7B6P0      confidence: 69.4531
    - 7B6PO      confidence: 64.8618
    - 7B6PQ      confidence: 64.627
    - 7B6PD      confidence: 63.7444

如果您在任何步骤中遇到任何类型的缺失库错误,请运行 ldconfig 命令。

我希望这篇文章对您有用,您将能够安装OpenALPR。如果您有任何进一步的问题或注释,您可以在下面留下Disqus评论。

原文链接: https://blog.vinczejanos.info/2016/08/31/install-openalpr-on-raspberry-pi-3/

尚未评分
您的评分将帮助我们做出更好的玩法

观光\评论区

Copyright © 2017 玩点什么. All Rights Reserved.