C# Tessnet2(Tesseract)未返回正确的结果-改进输出的方法

C# Tessnet2(Tesseract)未返回正确的结果-改进输出的方法,c#,image,ocr,tesseract,tessnet2,C#,Image,Ocr,Tesseract,Tessnet2,我正在使用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} ", w

我正在使用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(EmguCV for C#我认为)库可以帮助您完成一些图像处理方法。我在图像上使用了一个小的中间模糊来减少噪音,并用它制作了一个二值图像

使用tesseract测试此图像会得到以下输出:laurumoretz以及下一行的一些乱码,因为我没有删除小斑点(带有电话号码的标签上的字符)。所以它是一个关闭,但我没有使用更正,使文本显示完全线性

我希望这将为您提供一些关于如何提高tesseract ocr输出的想法