图像OCR - 过滤不需要的数据

时间:2011-02-18 18:36:42

标签: c# image-processing ocr

基本上我正在使用tessract OCR阅读车辆牌照,但是尽管能够通过改变对比度,减少噪音等来轻松地强调文字,车辆的某些“部分”仍留在图像上,这会导致OCR结果不好。

例如:

enter image description here

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

enter image description here

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

enter image description here

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

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

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

然而,知道这一点的人可以使用上面文章中的应用程序来实现我想要的尝试,所以请随意尝试。

由于

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

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

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

IsPixelAboveThreshold ?

如果它位于下方,则位于边框上,如果位于上方,则可以说您位于图像中间,亮度更高。

此致