1.【基于YoloV11+PaddleOCR的车牌检测系统】

实现思路:yolov11提取车牌坐标,进行分割,然后使用PaddleOCR进行识别!

图片:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

完整源码获取方式关注底部wx公号,私信获得(有偿)

一、CCPD数据集进行处理

下载链接:https://github.com/detectRecog/CCPD

在这里插入图片描述

在这里插入图片描述

打开readme文件,查找百度网盘链接,在此不再赘述!

在这里插入图片描述

数据集比较大,

数据集说明:

CCPD2019车牌数据集是采集人员在合肥停车场采集、手工标注得来,采集时间在早7:30到晚10:00之间。且拍摄车牌照片的环境复杂多变,包括雨天、雪天、倾斜、模糊等。CCPD数据集包含将近30万张图片、图片尺寸为720x1160x3,共包含8种类型图片,每种类型、数量及类型说明如下表:

类型 图片数 说明
ccpd_base 199996 正常车牌
ccpd_challenge 50003 比较有挑战的车牌
ccpd_db 10132 光线较暗或较亮车牌
ccpd_fn 20967 距离摄像头较远或较近
ccpd_np 3036 没上牌的新车
ccpd_rotate 10053 水平倾斜20-50度,垂直倾斜-10-10度
ccpd_tilt 30216 水平倾斜15-45度,垂直倾斜-15-45度
ccpd_weather 9999 雨天、雪天或大雾的车牌
ccpd_blur 20611 模糊的车牌
cppd_newenergy 11776 新能源车牌

总共283037张车牌图像
图片命名:“025-95_113-154&383_386&473-386&473_177&454_154&383_363&402-0_0_22_27_27_33_16-37-15.jpg”

解释:

025:车牌区域占整个画面的比例;
95_113: 车牌水平和垂直角度, 水平95°, 竖直113°
154&383_386&473:标注框左上、右下坐标,左上(154, 383), 右下(386, 473)
86&473_177&454_154&383_363&402:标注框四个角点坐标,顺序为右下、左下、左上、右上
0_0_22_27_27_33_16:车牌号码映射关系如下: 第一个0为省份 对应省份字典provinces中的’皖’,;第二个0是该车所在地的地市一级代码,对应地市一级代码字典alphabets的’A’;后5位为字母和文字, 查看车牌号ads字典,如22为Y,27为3,33为9,16为S,最终车牌号码为皖AY339S
省份:[“皖”, “沪”, “津”, “渝”, “冀”, “晋”, “蒙”, “辽”, “吉”, “黑”, “苏”, “浙”, “京”, “闽”, “赣”, “鲁”, “豫”, “鄂”, “湘”, “粤”, “桂”, “琼”, “川”, “贵”, “云”, “藏”, “陕”, “甘”, “青”, “宁”, “新”]

地市:[‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘J’, ‘K’, ‘L’, ‘M’, ‘N’, ‘P’, ‘Q’, ‘R’, ‘S’, ‘T’, ‘U’, ‘V’, ‘W’,‘X’, ‘Y’, ‘Z’]

车牌字典:[‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’, ‘J’, ‘K’, ‘L’, ‘M’, ‘N’, ‘P’, ‘Q’, ‘R’, ‘S’, ‘T’, ‘U’, ‘V’, ‘W’, ‘X’,‘Y’, ‘Z’, ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’]

最新的CCPD2020又补充了1万多张新能源汽车数据,都在下面的官网,感兴趣的可以去下载。

由于数据量过大,我从各个类型里面随机抽取10%,最终重构以后得到最终的数据集!

最终的数据集数据量如下:

类型 图片数 说明
ccpd_base 19999 正常车牌
ccpd_challenge 5000 比较有挑战的车牌
ccpd_db 1013 光线较暗或较亮车牌
ccpd_fn 2096 距离摄像头较远或较近
ccpd_np 303 没上牌的新车 没有坐标信息,忽略
ccpd_rotate 1005 水平倾斜20-50度,垂直倾斜-10-10度
ccpd_tilt 3021 水平倾斜15-45度,垂直倾斜-15-45度
ccpd_weather 999 雨天、雪天或大雾的车牌
ccpd_blur 2061 模糊的车牌
cppd_newenergy 1177 新能源车牌

1.1 从文件夹构建txt格式数据集

去除重复图片+未上牌新车,将所有图片放在一个datasets文件夹里面,共35885张图片,然后运行下述代码:

import os
import cv2

def parse_filename(filename):
    """解析CCPD文件名,提取车牌边界框坐标"""
    try:

    except Exception as e:
        print(f"解析文件名失败: {
     filename}, 错误: {
     e}")
        return None

def convert_to_yolo_format():
    """将边界框转换为YOLO格式(归一化)"""


def process_ccpd_dataset(image_dir
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ymchuangke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值