基于树莓派4B的车牌号识别

0. 前言

基于树莓派4B的车牌号识别系统

操作系统:Raspbian
PC:树莓派4B

1. Raspbian系统烧录

Raspbian 官方提供了一个 SD 卡烧录软件,名为 Raspberry Pi Imager,可以在 Windows、macOS、Ubuntu 和 Raspberry Pi OS 上运行。下面是 Raspberry Pi Imager 的使用过程:

  • 下载并安装 Raspberry Pi Imager:可以从官方网站 https://www.raspberrypi.org/software/ 下载 Raspberry Pi Imager。然后运行安装程序,按照提示进行安装。

  • 下载 Raspbian 镜像:从官方网站 https://www.raspberrypi.org/downloads/raspbian/ 下载最新版本的 Raspbian 镜像。你需要下载一个 .zip 格式的压缩文件。

  • 插入 SD 卡:将 SD 卡插入电脑的读卡器中,并确保电脑能够读取 SD 卡。

  • 运行 Raspberry Pi Imager:运行 Raspberry Pi Imager,并从菜单中选择你下载的 Raspbian 镜像(.zip 文件)。然后选择你所插入的 SD 卡。

  • 烧录 Raspbian:点击 Write 按钮,开始烧录 Raspbian 镜像到 SD 卡中。烧录过程需要一些时间,取决于你的电脑性能和 SD 卡的速度。

  • 完成烧录:烧录完成后,Raspberry Pi Imager 会弹出一个对话框。你可以选择继续烧录另一个 SD 卡,或者退出 Raspberry Pi Imager。

  • 现在你已经成功地烧录了 Raspbian 镜像到 SD 卡中。将 SD 卡插入树莓派并启动,你就可以开始使用 Raspbian 系统了。

推荐烧录32位最新系统:
在这里插入图片描述

在这里插入图片描述

开启ssh服务和设置初始用户名:
在这里插入图片描述

设置默认WiFi:
在这里插入图片描述
完成后插上读卡器开始烧录

2. 更换清华源

部署大型项目都需要下载很大的文件以及需要下载许多相关的依赖项目,所以需要更换国内源以提升下载速度:

1. 查看树莓派系统版本

输入这条命令来查看树莓派的系统版本

lsb_release -a

如果是11,则继续下一步操作

2. 更换清华国内源

树莓派的操作系统是基于Debian系统,而Debian的镜像存储在/etc/apt/sources.list中,这里我们将官方镜像注释掉,添加上清华源

  1. 用vim命令编辑 /etc/apt/sources.list 文件

    sudo vim /etc/apt/sources.list
    
  2. 将原文件所有内容都替换,使用以下内容替换

    deb [arch=armhf] http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi 
    deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi
    

3. Raspi镜像修改

  1. 用vim命令编辑/etc/apt/sources.list.d/raspi.list文件

    sudo vim /etc/apt/sources.list.d/raspi.list
    
  2. 注释源文件的内容,用以下内容来替换

    deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main 
    

4. 系统源更新

  1. 更新软件索引清单

    sudo apt-get update
    
  2. 比较索引清单更新依赖关系

    sudo apt-get upgrade 
    

5. 错误排查

更换清华源后下载发生了报错,这是由于没有添加公钥导致的

执行下列语句来添加公钥,注意公钥要更换成报错中的那一串字符

gpg --keyserver  keyserver.ubuntu.com --recv-keys 9165938D90FDDD2E
gpg --export --armor 9165938D90FDDD2E | sudo apt-key add -

3. opencv安装

直接在终端中输入以下命令用于下载opencv的依赖

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libhdf5-dev libhdf5-serial-dev
sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5
sudo apt-get install libatlas-base-dev
sudo apt-get install libjasper-dev

依赖安装完毕后安装opencv:

sudo pip3 install opencv-python==3.4.6.27

安装完毕后验证opencv安装情况:
终端输入sudo python3,然后import cv2查看是否能正确导入。

如果报错,大概率是numpy与opencv版本版本不匹配导致。

Python交互式 shell 输入:
import numpy as np
print(np.version)

如果版本号不是1.14.5,卸载numpy重新安装:
卸载

pip uninstall numpy

重新安装

pip install numpy==1.15.1

此时回到验证opencv情况,如果依旧错误,尝试卸载opencv重新安装或者评论区留言你遇到的问题。

4. 安装 hyperlpr

更换pip国内源

打开终端,使用以下命令备份原有的 pip 配置文件:

sudo cp /etc/pip.conf /etc/pip.conf.backup

使用以下命令创建一个新的 pip 配置文件:

sudo vim /etc/pip.conf

将以下代码复制到文件中:

[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
trusted-host = pypi.tuna.tsinghua.edu.cn

保存并关闭文件。

使用以下命令测试新源是否正常:

pip search numpy

验证 pip 配置文件是否修改成功:

cat /etc/pip.conf

pip安装

现在开始下载hyperlpr

python3 -m pip install hyperlpr

编译安装

你也可以选择编译源码安装的方式:
安装必要的依赖项:

sudo apt-get update
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

从 Github 上克隆 Hyperlpr 代码:

git clone https://github.com/liuruoze/EasyPR.git

通过 cd 命令进入 Hyperlpr 的源代码目录:

cd EasyPR

进入 Hyperlpr 源代码目录后,使用以下命令编译 Hyperlpr:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make

这段编译完成后,将在 build 目录下生成一个可执行文件 HyperLPR。

这样就可以使用 Hyperlpr 了。如果您需要将 Hyperlpr 安装到系统中以便在任何地方使用,可以使用以下命令安装:

sudo make install

使用编译安装的方式需要非常长的时间,因为涵盖了大量数据。本人安装时编译花费了一个小时,建议还是直接使用pip安装。

5. 验证项目可行性

创建你的工程目录:

需要有一张含有车牌号的图片。

写入以下文件
test.py

from hyperlpr import *
import cv2

image = cv2.imread("test.jpg")
# 打印识别结果
print(HyperLPR_plate_recognition(image))

这是我在江西萍乡旅游时拍下的一张奥迪A4L的照片(此处奥迪应该打钱),现在它刚好就派上用场了。
在这里插入图片描述
在这里插入图片描述
打印出来的参数是:
[“车牌号”,“准确率”,[“位置列表”]]
其中位置列表分别为左、上、右、下的坐标。

事实上,它是能够同时检测到多个车牌号的,但是受限于没有拍停车场的习惯所以找不出合适的图片信息,所以就到这咯!

猜你喜欢

转载自blog.csdn.net/qq_53381910/article/details/131099212