image - 从车牌上删除多余的像素/线

标签 image opencv image-processing tesseract automatic-license-plate-recognition

我正在使用基于 SVM 分类的 HOG 特征检测器。我可以成功提取车牌,但提取的车牌除了车牌号外还有一些不必要的像素/线。我的图像处理流程如下:

  1. 在灰度图像上应用 HOG 检测器
  2. 裁剪检测到的区域
  3. 调整裁剪图片的大小
  4. 使用以下 Opencv 代码应用自适应阈值突出显示车牌号和过滤背景

    cvAdaptiveThreshold(cropped_plate, thresholded_plate, 255,CV_ADAPTIVE_THRESH_GAUSSIAN_C, CV_THRESH_BINARY_INV,11, 9);
    
  5. 去歪斜板图像

由于这些不必要的信息,Tesseract-OCR 软件变得难以正确识别数字。提取的车牌图像如下所示。

enter image description here enter image description here

如何从图像中过滤掉这些不必要的像素/线条?任何帮助将不胜感激。

最佳答案

您想删除图像中的所有非文本对象。为此,我建议按边界框的面积 (maxy - miny)*(maxx - minx) 对 blob 进行排序。做一些统计分析;你知道你正在寻找相似大小的对象。一旦你确定了一个字符的大致大小,就制作一个更大的边界框来估计整个文本。将小 Blob 保留在其中,因此对于您的照片,破折号将被保留。

关于image - 从车牌上删除多余的像素/线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26880788/

相关文章:

html - 居中对齐 navbav 列表项中图像下方的文本

javascript - 图像未正确裁剪或调整大小

opencv - 查找图像中指向一个方向的所有线

python - 测量图像中线段的长度(以像素为单位)

c# - 图像模式匹配(如果存在返回坐标)

c# - GDI+ 中发生一般错误

android - 是否可以使按钮的背景透明?

matlab - 寻找图像中的凹坑

android - Android 中的光流

python - Tesseract 将 1 和 0 检测为 L 和 O