1.车牌检测和识别项目介绍

车牌的检测和识别的应用非常广泛,比如交通违章车牌追踪,小区或地下车库门禁。在对车牌识别和检测的过程中,因为车牌往往是规整的矩形,长宽比相对固定,色调纹理相对固定,常用的方法有:基于形状、基于色调、基于纹理、基于文字特征等方法,近年来随着深度学习的发展也会使用目标检测的一些深度学习方法。该项目主要的流程如下图所示:

1.输入原始图片,通过二值化,边缘检测,和基于色调的颜色微调等办法检测出原图中的车牌号的位置;

2.把检测到的车牌(ROI)裁剪,为车牌号的识别做准备;

3.基于裁剪的车牌号,使用直方图的波峰波谷分割裁剪的车牌号(如上图中的第3步)

4.训练机器学习模型做车牌识别,这里训练了2个SVM,一个SVM用来识别省份简称(如 鲁),另一个SVM用来识别字母和数字。

5.通过PyQt5把整个算法封装成GUI程序,并打包发布安装软件。

2.项目代码解析

下图描述了整个项目的代码结构,可以访问https://github.com/DataXujing/vehicle-license-plate-recognition 查看,其结构如下:

3.项目演示

可以通过访问项目地址 ( https://github.com/DataXujing/vehicle-license-plate-recognition )查看整个应用,或者访问安装程序下载地址 (https://pan.baidu.com/s/1IazbGFLlQkb8BQmK_EAeRA 提取码:v103 )安装安装程序进行测试,这里展示一些识别结果和测试视频:

4.TODO

目前识别的效果针对于某些场景下仍然很不理想,技术层面上的主要原因有两个,一个是车牌检测算法并没有检测到车牌(这主要是检测算法的问题),可以尝试一些目标检测的算法,比如Faster R-CNN(速度可能慢一些),YOLO系列, SSD系列等的经典的目标检测算法,然后做矫正或进一步的区域筛选;另一个原因是是在识别算法上,本次我们仅是基于少量的训练数据训练了SVM,可以尝试增加训练集并把模型替换成一些更复杂的机器学习模型如XGBoost,LightGBM,CatBoost等模型或使用CNN训练一个多分类的深度学习模型, 亦或者是直接考虑一些基于Attention的CNN-RNN架构的OCR识别模型。

打开APP精彩内容

点击阅读全文

python用法查询软件_如何使用Python应用软件实现车牌检测和识别相关推荐

  1. python用法查询软件_GitHub - ahahahahawd/youdao: 基于python 的命令行下查词工具,使用有道api...

    youdao 简介 这是一个基于Python 在控制台下查单词的小工具. 这个小程序是受https://github.com/Flowerowl/ici 启发, 用requests 库和有道的API ...

  2. python账单查询软件_利用Python批量识别电子账单数据的方法

    这篇文章主要介绍了利用Python批量识别电子账单数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 一.前言 有一定数量类似如下截图所示的账单,利用 ...

  3. python怎么开发软件_怎么使用python进行软件开发

    一.下载pyinstaller 我使用的版本为PyInstaller-2.1,支持python版本2.3-2.7,点击这里下载. 二.安装pyinstaller 下载完成后,解压即可.我的解压目录为D ...

  4. 如何制作python检查小软件_如何用Python制作整蛊小程序

    原标题:如何用Python制作整蛊小程序 下面的整蛊程序,千万不要发代码,否则就实现不了你整蛊的目的了.完成后一定要打包成一个exe程序,再发给朋友使用 . 1. 使用 pip install pyi ...

  5. python对话机器人软件_如何用Python为聊天机器人创建对话?

    我想写一个快速简单的聊天机器人,可以携带与用户的对话.我想知道如何创建对话,允许无限量的输入和响应.现在我使用的代码不允许用户定义输入.这就是我现在正在使用的代码.在# Import the rand ...

  6. 如何用python做计算软件_如何用Python写一个计算器软件 附带效果图

    1 import tkinter #导入tkinter模块 2 3 root =tkinter.Tk()4 root.minsize(280,500)5 root.title('李蛟龙的计算器')6 ...

  7. python用法查询笔记(二)—— 面向对象

    python用法查询笔记(二)-- 面向对象 类 1. 创建类 2. 把类中的变量传递给类中的函数 3. 给类方法传参 4. 类的实例化 5. 类的实例化 6. 重写类方法 7. 初始化函数 8. 继 ...

  8. 基于Python的车牌检测和识别系统

    向AI转型的程序员都关注了这个号???????????? 人工智能大数据与深度学习  公众号:datayx 1.车牌检测和识别项目介绍 车牌的检测和识别的应用非常广泛,比如交通违章车牌追踪,小区或地下 ...

  9. python制作电脑软件_利用PYTHON制作桌面版爬虫软件(一)

    抱歉,对长沙房地产数据的挖掘与分析[三],想了蛮久,觉得对自己的分析结果不是很理想.等我完善好了,我再发出来吧.今天继续开启新的一专题.主要讲解如何用PYTHON实现简单的桌面软件的制作. 题外话,我 ...

最新文章

  1. [JAVA EE] Filter过滤器
  2. CentOS 8 即将停更,未来我们该何去何从?
  3. Android可视化界面开发工具DroidDraw
  4. VTK:几何对象之Arrow
  5. MySQL社区版的下载和安装
  6. java引用 弱引用_了解Java弱引用
  7. 反射parameter field_Java反射有多强?这5大神奇功能,你需要了解!
  8. Ubuntu 更改源
  9. Angr安装与使用之使用篇(十四)
  10. 小爱音箱 电脑 麦克风_拆解报告:小米小爱音箱Art 智能音箱
  11. 用u盘装linux系统的操作全程图解,笔者教你用u盘装系统的操作全程图解
  12. Fdfs环境搭建及整合Java
  13. 微博音视频下载与合并
  14. 辰星人才 | 旷视实习生鲁盼:UCLA朱松纯准博士,两年七篇顶会论文
  15. 软件设计证书倒数50天-软件工程重要的证书
  16. 2018年家用计算机推荐,家用激光打印机2018推荐 这几款性价比不错
  17. 大数定律具体是个什么概念?
  18. python爬虫------从丁香园疫情首页提取世界各国的疫情数据
  19. 知识点六:jQuery遍历-同胞Siblings(), next(), nextAll()
  20. Cache之ECP磁盘撑满处理

热门文章

  1. javascript学习笔记(十五) 间歇调用和超时调用
  2. 通过模板设计按钮样式
  3. Oracle数据安全解决方案(1)——透明数据加密TDE
  4. (10)MySQL触发器(同时操作两张表)
  5. C++builder Tokyo 调用com 不正确的变量类型
  6. Producer Consumer
  7. hibernate one2one 唯一外键关联(双向关联)
  8. VS2013 未找到与約束ContractName
  9. 微信公众平台运营指导
  10. Spring MVC 使用问题与解决--HTTP Status 500 - Servlet.init() for servlet springmvc threw exception