Tessnet2只返回一个字符

时间:2013-05-08 18:29:05

标签: c# .net ocr tesseract tessnet2

我正在编写应用程序,我想阅读图像并提取文本。为了测试porpuses,我传递了一个包含6个字符的图像。这是我的代码。

Bitmap image = new Bitmap("eurotext.tif");
tessnet2.Tesseract ocr = new tessnet2.Tesseract();
ocr.SetVariable("tessedit_char_whitelist", "abcdefghijklmopqrstuvwxyz0123456789"); // If digit only
ocr.Init(null, "eng", false); // To use correct tessdata
List<tessnet2.Word> result = ocr.DoOCR(image, Rectangle.Empty);
foreach (tessnet2.Word word in result)
Console.WriteLine("{0} : {1}", word.Confidence, word.Text);

结果是 100:〜

第二次我跑回来了:

100: -

请帮助!!!致谢

1 个答案:

答案 0 :(得分:1)

尝试更大的图片。当我开始使用tessnet2时,我得到了几次“〜”。在我使用了更大的图片(Textsize应该超过12个)之后,程序运行良好。

要放大图片并尝试不同的尺寸,您可以使用轨迹栏和以下代码:

C#

        Bitmap originalImage = new Bitmap(imagePath, true);
        double needdedHeigth = Convert.ToDouble(trackbar1.Value);
        double faktor = needdedHeigth / (double)originalImage.Height;
        int newWidth = Convert.ToInt32(faktor * (double)originalImage.Width);
        Bitmap ORCImage = new Bitmap(originalImage,newWidth,Convert.ToInt32(needdedHeigth));

在'DoOCR()'方法中使用“OCRImage”位图