0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Python应用软件实现车牌检测和识别

Wildesbeast 来源:今日头条 作者:Python爱好者社区 2020-02-03 15:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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识别模型。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    59

    文章

    4893

    浏览量

    90519
  • 深度学习
    +关注

    关注

    73

    文章

    5614

    浏览量

    124843
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用Python/MyHDL创建自定义FPGA IP

    使用 Python/MyHDL 创建自定义 FPGA IP,与 Vivado 集成,并通过 PYNQ 进行控制——实现软件上的简单硬件设计。
    的头像 发表于 04-09 09:53 546次阅读
    使用<b class='flag-5'>Python</b>/MyHDL创建自定义FPGA IP

    瑞芯微(EASY EAI)RV1126B 车牌识别

    1.车牌识别检测简介EAI-LPR是一个高性能中文车牌识别框架,识别速度快。准确率高,在出入口场
    的头像 发表于 04-03 09:54 783次阅读
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>车牌</b><b class='flag-5'>识别</b>

    Python运行本地Web服务并实现远程访问

    本文介绍使用Python搭建本地Web服务并结合 ZeroNews 实现公网访问。
    的头像 发表于 02-06 11:39 474次阅读
    <b class='flag-5'>Python</b>运行本地Web服务并<b class='flag-5'>实现</b>远程访问

    【上海晶珩睿莓 1 开发板试用体验】车牌识别

    【上海晶珩睿莓 1 开发板试用体验】车牌识别 本文介绍了上海晶珩睿莓 1 单板计算机结合 LPRNet 算法和 Ultralytics 库实现车牌
    发表于 01-02 20:53

    融合AI的OpenHarmony应用软件开发:ai学习自律辅助软件

    *附件:ai study.zip*附件:融合AI的OpenHarmony应用软件开发:ai学习自律辅助软件.pdf 基于开源鸿蒙编写的ai辅助学习软件
    发表于 11-12 15:38

    Pico Technology发布Python软件包pyPicoSDK

    近日,全球领先的基于 PC 的仪器供应商Pico Technology 官方发布了 pyPicoSDK,这是一款旨在简化 PicoScopes 应用的 Python 软件包。pyPicoSDK 在
    的头像 发表于 09-29 15:03 1195次阅读

    迅为RK3568开发板模型推理测试实战LPRNet 车牌识别

    迅为RK3568开发板模型推理测试实战LPRNet 车牌识别
    的头像 发表于 08-25 14:55 1721次阅读
    迅为RK3568开发板模型推理测试实战LPRNet <b class='flag-5'>车牌</b><b class='flag-5'>识别</b>

    AI集装箱残损识别系统如何实现精准检测

    现代智能集装箱验损系统通过创新技术融合,实现了集装箱残损的精准识别与高效管理,为港口、物流行业带来革命性的检测解决方案。
    的头像 发表于 08-04 18:19 1167次阅读

    北京迅为itop-3588八核开发板瑞芯微NPU例程测试LPRNet车牌识别

    北京迅为itop-3588八核开发板瑞芯微NPU例程测试LPRNet车牌识别
    的头像 发表于 07-23 14:14 1486次阅读
    北京迅为itop-3588八核开发板瑞芯微NPU例程测试LPRNet<b class='flag-5'>车牌</b><b class='flag-5'>识别</b>

    【BPI-CanMV-K230D-Zero开发板体验】+车牌识别处理与应用方法

    目前在许多的公共场所,如商场、学校、小区等都已采用车牌的自动识别管理,那如何自己也来实现这样的管理呢? 其实,较好的选择就是选取K230D-Zero开发板,因为它本身就具体了这样的基础,提供相应
    发表于 07-17 14:22

    【Milk-V Duo S 开发板免费体验】SDK编译、人脸检测、OpenCV测试

    SDK 包含 移动侦测,人脸检测,人脸识别,人脸追踪,行人检测,语义分割,车牌辨识,车牌检测
    发表于 07-11 13:48

    【BPI-CanMV-K230D-Zero开发板体验】AI 算法模型(人脸检测、躯干检测车牌识别

    =licence_det_kmodel # 车牌识别模型路径 self.licence_rec_kmodel=licence_rec_kmodel # 人脸检测模型输入分辨率
    发表于 07-05 00:52

    【BPI-CanMV-K230D-Zero开发板体验】人脸检测、手势识别车牌识别

    【BPI-CanMV-K230D-Zero开发板体验】人脸检测、手势识别车牌识别 本文介绍了香蕉派 CanMV K230D Zero 开发板结合 MIPI 摄像头
    发表于 06-30 20:44

    基于瑞萨64位MPU RZ/G2L进行32位应用软件开发

    本文主要介绍基于瑞萨64位MPU RZ/G2L进行32位应用软件开发的介绍,用于解决客户32位软件移植相关问题,供客户参考。
    的头像 发表于 06-26 15:48 2346次阅读
    基于瑞萨64位MPU RZ/G2L进行32位<b class='flag-5'>应用软件</b>开发

    有偿求助!esp32cam摄像头车牌识别代码执行时,上位机闪退

    esp32cam摄像头车牌识别在操作执行识别车牌打开摄像头,上机位直接闪退,摄像头在例程检测是有图片的,有偿找一个能帮我修改整体代码的
    发表于 06-03 16:18