思考车牌号的提取

一辆车的照片如何提取车牌号码?(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:车牌专用方案,先检测车牌位置,裁剪后识别,再格式校验,输出车牌号码。
相关推荐
科研小刘带你玩学术4 小时前
【学术干货】CVPR论文解析:扩散模型如何推动生成式人工智能进入新时代?
人工智能·深度学习·计算机视觉·生成式ai·扩散模型
sali-tec5 小时前
C# 基于OpenCv的视觉工作流-章100-抠图
图像处理·人工智能·opencv·计算机视觉
动物园猫7 小时前
夜间野生动物目标检测数据集:17类别、17,000张图像 | 目标检测
人工智能·目标检测·计算机视觉
fai厅的秃头姐!10 小时前
OpenCV实战篇
人工智能·opencv·计算机视觉
zzm6281 天前
Focal Loss与RetinaNet:解决目标检测中类别不平衡的新型损失函数
人工智能·目标检测·计算机视觉
m沐沐1 天前
【机器学习】朴素贝叶斯算法:从贝叶斯定理到手写数字识别实战
人工智能·深度学习·算法·机器学习·计算机视觉·手写数字·数字识别
梦想三三1 天前
YOLOv5口罩检测完整实战(二):从现成数据集到训练、评估与摄像头识别
人工智能·yolo·计算机视觉·目标跟踪
c#上位机1 天前
线扫相机之采集图像高度
数码相机·opencv·计算机视觉
Microvision维视智造1 天前
行业洞察系列 06 | 汽车制造的视觉革命
人工智能·计算机视觉·汽车·视觉检测·制造·机器视觉