C# Tesseract:C语言中简单数的识别#

C# Tesseract:C语言中简单数的识别#,c#,ocr,tesseract,image-recognition,C#,Ocr,Tesseract,Image Recognition,我使用了nuget的Tesseract库(3.2.0-alpha2)。我也在玩旧版本和tessnet2库,没有得到任何积极的结果。 对于示例,我有两幅图像: 当我尝试识别多个数字时,我只收到数字“541”,没有看到带有单字符的数字。当我试着识别单号时,我也没有任何结果 我的代码示例如下: using (var engine = new TesseractEngine(@"tessdata/", "eng")) { engine.SetVa

我使用了nuget的Tesseract库(3.2.0-alpha2)。我也在玩旧版本和tessnet2库,没有得到任何积极的结果。 对于示例,我有两幅图像:

当我尝试识别多个数字时,我只收到数字“541”,没有看到带有单字符的数字。当我试着识别单号时,我也没有任何结果

我的代码示例如下:

        using (var engine = new TesseractEngine(@"tessdata/", "eng"))
        {
            engine.SetVariable("tessedit_char_whitelist", "0123456789");

            using (var img = Pix.LoadFromFile(@"multiple_numbers.bmp"))
            using (var page = engine.Process(img))
            using (var iterator = page.GetIterator())
            {
                Console.WriteLine(page.GetText()); 
                iterator.Begin();

                do
                {
                    var text = iterator.GetText(PageIteratorLevel.Word);
                    Console.WriteLine(int.Parse(text));
                }
                while (iterator.Next(PageIteratorLevel.Word));
            }
        }

我使用PageIteratorLevel作为迭代器,EngineMode作为引擎,PageSegMode用于处理,但没有任何成功。请帮我解决我的问题。主要目标是接收图像中的所有数字。如果我能找到最简单的方法,我可以更改识别库。

您是否尝试过白名单大写字母O?是的,在任何单个数字的情况下,它都看不到。我只收到包含2个以上字符的数字。处理过程中可能出现PageSegMode.SingleChar的重复-它可以读取“single number”图像。但在这种模式下,我无法读取“多个数字”图像-它会输出“2”。:(psm 6使用多个数字图像的命令行版本给出了正确的结果,但我无法解释原因:
tesseract.exe mgckH.png-psm 6-c tessedit_char_whitelist=0123456789-
您是否尝试过白名单大写字母O?是的,在任何情况下,单个数字都看不到它。我只收到了包含2个字符以上的数字s、 处理中可能存在PageSegMode.SingleChar时的重复-它可以读取“单个数字”图像。但在此模式下,我无法读取“多个数字”图像-它会给出“2”输出:(psm 6使用多数字图像的命令行版本给出正确的结果,但我无法解释原因:
tesseract.exe mgckH.png-psm 6-c tessedit\u char\u whitelist=0123456789-