【问题标题】:Removing extra pixels/lines from license plate从车牌上去除多余的像素/线条
【发布时间】:2015-01-08 22:33:47
【问题描述】:

我正在使用基于 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 软件无法正确识别数字。提取的车牌图像如下所示。

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

【问题讨论】:

  • 侵蚀扩张怎么样?去除小轮廓怎么样?
  • 更多示例会有所帮助。

标签: image opencv image-processing tesseract anpr


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您可以通过过滤轮廓来实现很多。尝试找到具有一定宽度/高度比的轮廓,一定数量的带有countNonZero() 的白色像素等。如果这没有帮助,您可以随时尝试实现像Run Length Smoothing Algorithm (RLSA) 这样的文本检测算法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-14
      • 2017-05-27
      • 1970-01-01
      • 2018-03-12
      相关资源
      最近更新 更多