Tessnet2 (Tesseract) 没有返回正确的结果 - 改进输出的方法

Tessnet2 (Tesseract) is not returning the correct results - ways to improve output

我在 C# 中使用 tessnet2 (tesseract-ocr) 在下图中:

这是我的代码:

var image = new Bitmap(@"D:\anuj\a2.jpg");
ocr.Init(@"D:\anuj\OCRTest\tessdata", "eng", false);
var result = ocr.DoOCR(image, Rectangle.Empty);
foreach (Word word in result)
    Console.Write("{0} ", word.Text);                    
Console.ReadLine();

给出输出:Icurumcretz j

有什么方法可以获得正确的结果文本,因为示例图像非常清晰且分辨率高,但仍然没有给出正确的文本。需要定义哪些参数才能获得正确的结果。请回复。

您应该尝试对图像进行一些图像处理以改进 tesseract 的输出。 OpenCV(我认为是 C# 的 EmguCV)库可以帮助您完成其中一些图像处理方法。我在图像上使用了一个小的 medianBlur 来降低噪声并从中制作了一个二值图像。

Segmented Image

使用 tesseract 测试此图像会得到以下输出:laurumoretz 下一行出现一些乱码,因为我没有删除小斑点(带有电话号码的贴纸上的字符) .所以它差了一个,但我没有使用更正来使文本看起来完全线性。

我希望这能让您对如何改进 tesseract-ocr 的输出有所了解。