【问题标题】:Image OCR - Filtering unwanted data图像 OCR - 过滤不需要的数据
【发布时间】:2011-02-18 18:36:42
【问题描述】:

基本上,我正在使用 tessract OCR 读取车牌,但是尽管能够通过更改对比度、降低噪音等轻松地强调文本,但车辆的某些“部分”仍保留在图像上,这确实会导致 OCR抛出不好的结果。

例如采取:

我可以很容易地改变这个,例如:

我希望消除每个盘子的边缘,这是另一个示例:

我可以使用像素处理算法去除边缘,但是我觉得这不是正确的方法,并且会导致很多问题。

我一直在使用下面的应用程序测试各种方法,例如形态学和消除不需要的数据,到目前为止我还没有成功。

http://www.codeproject.com/KB/GDI-plus/Image_Processing_Lab.aspx

但是,了解这方面的人可以使用上面文章中的应用程序来实现我正在尝试的目标,所以请随意尝试一下。

谢谢

【问题讨论】:

  • This algorithm 似乎能够隔离您的板块文本...:D
  • 哈,是的,复制该功能非常困难;我将继续研究其他解决方案,无论如何谢谢:)。如果您知道任何描述/具有此功能的文章/api/库,我将不胜感激。
  • 对问题进行了排序,我只是根据总大小和宽度删除了一定比例的轮廓,虽然不完美但足够好:)

标签: c# image-processing ocr


【解决方案1】:

请尝试使用笔画宽度变换概念。

这个概念用于从自然图像中分割文本.....

【讨论】:

    【解决方案2】:

    我已经做过这样的算法。我只能说它很好用。秘诀是,你需要知道光可能只是从一侧来的。您不能仅使用 ONE 阈值将图像设置为“黑/白”。

    检测图像各部分的平均亮度,并使用此亮度计算来设置每个区域的阈值。

    例如,如果左上角较亮,则需要较低的阈值才能使这些部分不亮。而如果右下角光线较暗,则需要将阈值设置得更高,才能接收到所有现有的光线信息。

    然后,您只需使用以下方法从每一侧驶入图像:

    IsPixelAboveThreshold ?
    

    如果在下方,你就在边框上,如果在上面,你可以说你在图像的中间,亮度更高。

    问候

    【讨论】:

      猜你喜欢
      • 2012-08-20
      • 2021-03-09
      • 2013-05-15
      • 2018-06-20
      • 2012-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多