Tesseract c#:在我的案例中找不到任何东西

时间:2017-02-17 00:10:23

标签: c# tesseract

我为tesseract添加了C#包装器:TesseractEngine

我有两种类型的图像可供阅读:

enter image description here

第二种类型(仅限一个字母):

enter image description here

但在这两种情况下,Tesseract都会返回空字符串。

这是我的代码(在docs中找到):

    public static void Main(string[] args)
        {
        var testImagePath = @"C:\plate\ExtractLicensePlate-0.jpg";
        if (args.Length > 0)
        {
            testImagePath = args[0];
        }

        try
        {
            using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
            {
                engine.SetVariable("tessedit_char_whitelist", "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");

                using (var img = Pix.LoadFromFile(testImagePath))
                {
                    using (var page = engine.Process(img))
                    {
                        var text = page.GetText();//<-- empty :(

                    }
                }
            }
        }
        catch (Exception e)
        {                
            Console.WriteLine(e.ToString());
            Console.Read();
        }
        Console.Write("Press any key to continue . . . ");
        Console.ReadKey(true);
    }

也许我错过了一个选项或其他什么?

编辑:我试过这种但是没有成功:

enter image description here

编辑2:我尝试灰色和黑白色和Tesseract给我:EEEEEEE

enter image description here

我不知道我能做得更好......:

1 个答案:

答案 0 :(得分:1)

  1. 我建议将图像转换为灰度
  2. 尝试将PageSegMode设置为SingleCharSingleWord

       using (var page = engine.Process(img, PageSegMode.SingleChar))
       {
           var text = page.GetText();
       }