python - 我们可以训练 haar-cascade 来检测数字和字母吗?

标签 python linux opencv ubuntu automatic-license-plate-recognition

我们想要训练一种特定的字体和 A-Z 中的所有字母以及 0-9 中的所有数字。每个有多少个正样本和负样本可以完成这项工作? 虽然这将是一项繁琐的任务,但 tesseract 读取移动车辆的车牌并不是那么准确。完成任务还有其他建议吗?

最佳答案

我引用了以下维基百科文章- https://en.m.wikipedia.org/wiki/Automatic_number_plate_recognition

软件识别车牌需要七种主要算法:

1.Plate localization——负责在图片上寻找和隔离车牌。

2.板的方向和尺寸——补偿板的倾斜并将尺寸调整到所需尺寸。

3.归一化——调整图像的亮度和对比度。

4.Character segmentation——找出车牌上的单个字符。

5.光学字符识别。

6.句法/几何分析——根据国家特定规则检查字符和位置。

7.对多个字段/图像的识别值进行平均,以产生更可靠或更有信心的结果。特别是因为任何单个图像都可能包含反射光耀斑、被部分遮挡或其他临时效果。

回到您的问题 Haar 级联可用于定位车牌。但是对于 OCR 部分,我个人会推荐 CNN 网络。你可以在这里找到一个实现- https://matthewearl.github.io/2016/05/06/cnn-anpr/

还有这个专门从事任务的图书馆- https://github.com/openalpr/openalpr也检查一下

对于 haar 级联- https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_licence_plate_rus_16stages.xml

祝你好运

关于python - 我们可以训练 haar-cascade 来检测数字和字母吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42991316/

相关文章:

Python:附加/合并多个尊重标题的 csv 文件并写入 csv

python - Arduino 和 Python 通过 UDP 进行通信

java - 连接到 Linux 虚拟机上的数据库的 SocketTimeoutException

c - 从 c-library、Debian Linux 查看 stderr

c++ - OpenCV:findHomography 生成一个空矩阵

python - 在 Python 中创建二维数组

python - 没有 np.nan 的标量和 pandas 系列的 np.maximum

linux - 在多核/多线程应用程序中利用多核

python - 使用 tmpfs 改进 openCV VideoWriter

c++ - 基于颜色的 OpenCV 边缘/边界检测