我正在尝试使用Tessnet2在C#中使用Tesseract引擎。对于我提供给Tessnet2的许多测试映像,输出都是非常糟糕的,而且几乎没有什么是正确的。
这是我在C#控制台项目Program.cs类中的代码:
static void Main(string[] args)
{
try
{
Bitmap image = new Bitmap(@"C:\Users\hp\Desktop\eurotext.tif");
var ocr = new Tesseract();
//when I tried to add the SetVariable(...), it didn't change the output much
ocr.Init(@"C:\Program Files (x86)\Tesseract-OCR", "eng", true);
var result = ocr.DoOCR(image, Rectangle.Empty);
foreach (Word word in result)
Console.WriteLine("{0} : {1}", word.Confidence, word.Text);
Console.ReadLine();
}
catch (Exception exception)
{
Console.WriteLine("Error");
}
}例如,这是一个示例(大型二进制300 dpi)测试映像"eurotext.tif":

这是这个图像的Tessnet2输出:

我一直在使用这个网站来学习使用Tessnet2:https://code.msdn.microsoft.com/windowsdesktop/How-to-use-Tessnet2-library-716be12f的步骤
我使用这个网站试图正确地使用SetVariable(.)函数来实现我想做的事情,但是没有运气,输出也没有太大差别:http://www.sk-spell.sk.cx/tesseract-ocr-en。
我找到了旨在减少引擎错误的Tesseract指南:http://code.google.com/p/tesseract-ocr/wiki/ImproveQuality
我到处寻找一个能提高准确性的解决方案,我发现很多帖子和人都有类似的问题,但没有有效的解决方案。
造成这个问题的原因是什么?我该怎么解决呢?
我是这个话题的初学者,所以如果解决方案太过琐碎,请耐心等待。
谢谢!
发布于 2015-02-06 18:11:51
要使文本显示,您必须更改:
ocr.Init(@"C:\Program Files (x86)\Tesseract-OCR", "eng", true);至:
ocr.Init(@"C:\Program Files (x86)\Tesseract-OCR", "eng", false);https://stackoverflow.com/questions/27754392
复制相似问题