思考车牌号的提取

一辆车的照片如何提取车牌号码?(OCR仅仅是获取数字,怎么能确定该数字是车牌号呢)

通用 OCR 只负责 "识别文字内容",它不知道哪段文字属于车牌。 完整车牌识别 = 车牌检测(找到车牌在哪) + OCR 字符识别(读出号码) + 格式校验(判断是不是合法车牌) 三大块。

如果你直接把整张车照片丢给 PaddleOCR,图片里会识别出:车身贴纸、广告牌、地面文字、车窗贴纸、车牌字符一大堆文本。OCR 分不清哪个才是车牌。

完整流水线(一张车辆照片提取车牌)

1️⃣ 车牌检测(最重要:确定哪一块区域是车牌)

两种实现方式:

  1. 深度学习方案(工程最常用) 用 YOLO 训练一个专门检测车牌的模型,输出车牌的矩形框x1,y1,x2,y2,类别就是license_plate,直接把车牌从整张图抠出来(ROI 裁剪)。

只把裁剪出来的车牌小图送给 OCR,其他区域全部丢弃。

  1. 传统 OpenCV 方案 通过轮廓、颜色(蓝 / 黄 / 绿底色)、宽高比(国内车牌宽高比大约 3:1)过滤候选矩形,筛选出疑似车牌区域。

2️⃣ 图像矫正

裁剪出来的车牌可能倾斜、透视畸变,做透视变换转正车牌图像。

3️⃣ OCR 识别(仅仅读出字符)

把转正后的车牌小图送入 OCR (PaddleOCR/EasyOCR/LPRNet),得到一串文字,例如:粤A12345

这一步只做字符读取,不知道这是不是车牌

4️⃣ 后处理校验:判断读到的数字文字到底是不是合法车牌号

这一步解决你的疑问:拿到一串字符,怎么确认它是车牌号码,而不是广告文字? 用规则约束过滤:

  1. 字符集合:第一位必须是国内省份简称汉字(粤、京、沪、陕......);后面只能是大写字母 + 数字,不能出现普通汉字。
  2. 长度校验:普通蓝牌 7 位;新能源车牌 8 位。
  3. 正则表达式匹配,过滤掉不符合车牌格式的 OCR 结果。
  4. 置信度过滤:OCR 输出置信度太低直接丢弃。

举例:OCR 识别出ABC123超市特价,正则直接判定不是车牌,丢弃该结果。

通俗比喻

  • OCR:就像一个识字的人,随便看到什么字都念出来;
  • 车牌检测:用手指把车牌框出来:"看,就只看这一小块";
  • 格式校验:拿一套车牌书写规范,检查读出来的文字符不符合车牌的写法,符合才输出为车牌号。

容易混淆的两个方案

  1. 通用 OCR (PaddleOCR 原版):通用文字识别,没有车牌概念,不能直接做车牌识别。
  2. LPRNet / YOLO‑plate + OCR:车牌专用方案,先检测车牌位置,裁剪后识别,再格式校验,输出车牌号码。
相关推荐
工业机器视觉设计和实现14 小时前
opencv的模板匹配
opencv·计算机视觉
CoderIsArt15 小时前
基于Halcon的T恤印花缺陷检测程序
人工智能·数码相机·计算机视觉
小王20418 小时前
Day 28:目标检测入门 — 两阶段 vs 单阶段
人工智能·目标检测·计算机视觉
美狐美颜SDK开放平台19 小时前
直播APP源码如何实现美颜功能?视频美颜SDK开发方案详解
android·大数据·人工智能·计算机视觉·直播美颜sdk
YOLO数据集集合19 小时前
无人机检测与追踪数据集 | 无人机检测 反无人机 低空安防 目标追踪 YOLO格式9010期
人工智能·yolo·目标检测·计算机视觉·无人机·无人机检测
CIO_Alliance20 小时前
AI深度系列(2)| CNN卷积池化感受野原理:从局部感知到全局视野
人工智能·深度学习·线性代数·算法·计算机视觉·企业ai转型·企业cio联盟
动物园猫20 小时前
绝缘子目标检测数据集:2,000张图像 | 目标检测
人工智能·目标检测·计算机视觉
qq_252941316821 小时前
山体滑坡目标检测数据集 | 山体滑坡检测 地质灾害识别 遥感监测 目标检测 YOLO格式
人工智能·yolo·目标检测·计算机视觉·视觉检测·自然灾害·滑坡数据集
明志数科1 天前
从实验室到工厂产线:具身智能训练数据的环境差异、分布偏移与工业级采集方案
人工智能·深度学习·计算机视觉
黑马水牛1 天前
Carla仿真系列:10_Carla 双目障碍物测距,视差图还原真实距离
python·计算机视觉·ros·双目·carla仿真