OpenALPR 是一个使用 C++ 编写的开源自动牌照识别库,并包含 C#、Java、Node.js 和 Python 语言的绑定。该库能分析图像和视频流以识别车牌,而输出的内容则是任何车牌字符的文字形式。
因此,只要安装了 OpenALPR,我们就能够从单张照片或直播流中识别牌照。
我们所需要的东西有:
在安装之前,请执行下面的命令,将系统的软件包更新到最新版本:
sudo apt-get update
sudo apt-get upgrade
为了编译 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 找不到。
OpenALPR 需要使用如下的附加软件:
其相应的安装、编译步骤如下所示。
为了安装 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,一款由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 的全称是 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
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/
使用下面的代码就可能测试安装:
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/
观光\评论区