代码仓库
1、码云Gitee:https://gitee.com/yangkun_monster/raspberrypi-License-Plate-Recognition
2、Github:https://github.com/pifan-open-source-community/raspberrypi-License-Plate-Recognition
视频教程地址:
哔哩哔哩bilibili:树莓派爱好者基地

一、项目概述

该项目主要用车牌识别算法对图像或视频中的车牌进行识别。首先进行车牌区域检测,然后将检测后的图像区域进行文本识别操作,反馈车牌的识别结果的同时将车牌区域进行框选,并将识别结果显示在对应车辆上方,后期移植在树莓派上进行实时视频流的车牌检测和识别。

前期:主要考虑PC端性能,并尽可能优化模型大小,训练可采用GPU,但调用模型测试的时候用CPU运行,测试帧率和准确性(测试10张左右图像的运行时间取平均值或实时视频流的帧率)。

后期:部署在树莓派端,在本地进行USB摄像头实时视频流的车牌识别。

编程语言: python。

Demo展示:输入单张图像或USB摄像头实时视频流,在显示器上显示出识别的结果(区域框选+识别结果)。

二、车牌识别系统简介

EasyPR是一个中文的开源车牌识别系统,其目标是成为一个简单、灵活、准确的车牌识别引擎。
相比于其他的车牌识别系统,EasyPR有如下特点:

  • 它基于openCV这个开源库,这意味着所有它的代码都可以轻易的获取。
  • 它能够识别中文,例如车牌为苏EUK722的图片,它可以准确地输出std:string类型的"苏EUK722"的结果。
  • 它的识别率较高。目前情况下,字符识别已经可以达到90%以上的精度。

三、树莓派端部署

1、烧录系统

下载树莓派官方镜像

http://raspberrypi.org/software/operating-systems/

版本Raspberry Pi OS with desktop and recommended software
下载后并解压缩

然后烧录镜像烧录系统。这里如果不会可以查看树莓派爱好者基地之前的视频教程,哈哈哈哈哈。

2、树莓派换源

输入命令

sudo nano /etc/apt/sources.list

将其他源 前面加上 # 注释掉
下面粘贴科大源

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

输入 ctrl+o 回车保存,再ctrl+x 退出
输入命令

sudo apt-get update

3、安装cmake

sudo apt-get install cmake

检查版本

cmake -version

出现版本信息则安装成功!
下载pkg-config

wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz

解压

tar -zxvf pkg-config-0.29.2.tar.gz

进入解压目录

cd pkg-config-0.29.2

依次执行下面的命令

./configure --with-internal-glib
make
make check
sudo make install

如果第三条报错,把路径改为全英文并且重新解压执行,并在第三条命令前加上sudo再执行。)

4、安装其它依赖

通过软件源安装libopenexr-dev

sudo apt-get install libopenexr-dev

5、配置opencv

下载OpenCV - 3.2.0

wget https://github.com/Itseez/opencv/archive/3.2.0.zip

使用unzip解压,没有unzip的先安装unzip。

sudo apt-get install unzip

解压

unzip 3.2.0.zip

进入opencv目录

cd opencv-3.2.0

创建release目录

mkdir release

进入release目录,安装OpenCV时,所有的文件都会被放到这个release目录下

cd release

使用cmake编译OpenCV的源码,安装到/usr/local/目录下

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/ ..

编译安装

make
sudo make install

如果出现此错误:

make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:180:modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:6687:modules/python3/CMakeFiles/opencv_python3.dir/all] 错误 2
make: *** [Makefile:163:all] 错误 2

解决方法:
编辑 opencv-3.2.0/modules/python/src2/cv2.cpp 文件,更改第730行:

bool pyopencv_to(PyObject* obj, String& value, const char* name)
{  (void)name;  if(!obj || obj == Py_None)  return true;  char* str = (char *)PyString_AsString(obj);//这是文件的第730行,更改这行,在=后面加(char *)if(!str)  return false;  value = String(str);  return true;

再重新编译安装就好了。

6、EasyPR安装

在树莓派爱好者基地微信公众号发送【EasyPR】就可以获得压缩包。
解压后上传到/home/pi目录下。
进入到EasyPR的目录:

cd EasyPR

直接执行命令:

./build.sh

如果出现此错误:

make[2]: *** [CMakeFiles/easypr.dir/build.make:141:CMakeFiles/easypr.dir/src/core/plate_judge.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:73:CMakeFiles/easypr.dir/all] 错误 2
make[1]: *** 正在等待未完成的任务....
[ 48%] Linking CXX static library libthirdparty.a
[ 48%] Built target thirdparty
make: *** [Makefile:84:all] 错误 2

解决方法:
修改EasyPR/include/easypr/config.h文件的第四行:

#ifndef EASYPR_CONFIG_H_
#define EASYPR_CONFIG_H_  #define CV_VERSION_THREE_TWO//修改这一行,将#define CV_VERSION_THREE_ZERO改为#define CV_VERSION_THREE_TWO

再编译,出现[100%] Built target demo之后即编译成功!
测试直接运行dome

./demo

输出以下信息:

  EasyPR Option:
1. 测试;
2. 批量测试(推荐);
3. SVM训练;
4. ANN训练;
5. 中文字符训练;
6. 生成字符;
7. 感谢名单;
8. 退出;

请选择一项操作:
选择“2批量测试”,可进行多张照片识别。
可以在EasyPR/resources/image目录下对general_test和native_test这两个文件夹中的照片进行替换,换成自己的车牌照片。

给你的树莓派部署一个车牌识别系统相关推荐

  1. 手动搭建一个车牌识别系统 | 附源码

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 车牌识别是一种图像处理技术,用于识别不同车辆.这项技术被广泛用于各 ...

  2. 用python做一个车牌识别_如何用 Python 识别车牌

    车牌识别在高速公路中有着广泛的应用,比如我们常见的电子收费(ETC)系统和交通违章车辆的检测,除此之外像小区或地下车库门禁也会用到,基本上凡是需要对车辆进行身份检测的地方都会用到. 简介 车牌识别系统 ...

  3. 你不知道的车牌识别系统

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 有小伙伴后台和小白说,能不能推荐几个适合入门的开源视觉项目,因为根 ...

  4. EasyPR中文开源车牌识别系统 开发详解

     在上篇文档中作者已经简单的介绍了EasyPR,现在在本文档中详细的介绍EasyPR的开发过程. 正如淘宝诞生于一个购买来的LAMP系统,EasyPR也有它诞生的原型,起源于CSDN的taotao ...

  5. 【深度学习】你不知道的车牌识别系统

    有小伙伴后台和小白说,能不能推荐几个适合入门的开源视觉项目,因为根据实际项目和代码学起来相对来说比较快.小白收集了一些比较简单的开源的项目,会陆陆续续的分享给大家,文末有源码地址. 今天首先带来的是一 ...

  6. python车牌识别系统开源代码_汽车牌照识别系统【YOLO+MLP】

    车牌识别系统可以自动检测并识别图像中的车辆牌照,其算法主要包括牌照定位.牌照分割.字符识别等步骤.本文将给出一种基于深度学习的车牌识别系统方案. 要快速掌握开发人工智能系统的技能,推荐汇智网的 机器学 ...

  7. EasyPR--中文车牌识别系统 开发详解(开源)

    人工智能AI与大数据技术实战  公众号: weic2c 一个开源的中文车牌识别系统, Git地址为:https://github.com/liuruoze/EasyPR. 我给它取的名字为EasyPR ...

  8. 【毕设】车牌识别系统的设计与实现

    车牌识别系统的设计与实现_毕设记录 1 前言[源码见评论区] 2 开发环境 3 VS2017配置OpenCV运行第一个小程序(19.12.27) 3.1 第一个小程序 3.2 参考链接汇总 4 车牌定 ...

  9. 车牌识别存储云服务器,车牌识别系统大显神威,实现智慧交通的“最强利器”。...

    随着人们生活水平提高,私家车的数量逐年增加,截至2017年底全国机动车保有量已达3.10亿辆.交通压力越来越严峻,智能化交通管理已成为交通发展的大方向.其中车牌识别系统的大力发展可以说是解决拥堵问题, ...

最新文章

  1. 前端面试题笔记 2021.8.26
  2. springmvc+mybatis+html 下将查询数据以excell形式上传到ftp(下)
  3. GCD介绍(三): Dispatch Sources
  4. 拆半查找的递归和非递归算法
  5. 谷歌Chrome浏览器正式上新Android版黑暗模式
  6. Devc++编译系统分配给int多少字节
  7. java 8 localdatetime_java8 时间 LocalDateTime常用方法
  8. 华为关联公司哈勃投资晟芯网络 持股10%
  9. Java Spring全家桶详解——Spring简介
  10. 541页《利用Python进行数据分析》分享(附源码下载)
  11. 面试中的字符串问题 (1)
  12. win10系统word软件变英文各类解决方法
  13. 上帝掷骰子吗:量子物理史话
  14. C++ Source Flowchart 自动生成C++程序流程图
  15. 云计算大数据:Xen、KVM、VMware、hyper-v等虚拟化技术的比较
  16. a href点击无效_a标签失效的问题
  17. linux cp改文件名,更改Linux `cp`命令以复制文件组
  18. 【记录】螺纹连接与螺旋传动
  19. 也跟风玩一玩CH552
  20. Android性能优化典范(五)

热门文章

  1. C#牛客网刷题常见报错指南
  2. HBase及Zookeeper搭建及配置
  3. windows系统服务中功能介绍
  4. 使用 .NET 标记游戏地图关键坐标点
  5. python爬虫-自建IP代理池
  6. Scala 方法与函数
  7. 使用matlab拟合非线性函数找到最优参数值
  8. 众昂矿业:萤石矿下游产业需求(工业篇)
  9. ffmpeg多路视频推流,分别接流(不合并)
  10. java 用什么表示_java中用什么运算符表示“或”