tesseract包装器—性能缓慢

本文关键字:性能 缓慢 包装 tesseract | 更新日期: 2023-09-27 18:27:52

我正在为C#v3使用tessearch包装器。所需要的是得到位于图像顶部的12位数字。以下完成了工作,但速度非常慢(在我的电脑上42秒):

public string GetIdentityNumber(string path)
{
    string identityNum = string.Empty;
    Regex regex = new Regex(@"['d]{4}'s+['d]{4}'s+['d]{4}");
    try
    {
        using (var engine = new TesseractEngine(@".'tessdata", "eng", EngineMode.Default))
        {
            using (var img = Pix.LoadFromFile(path))
            {
                using (var page = engine.Process(img, PageSegMode.SingleBlock))
                {
                    using (var iter = page.GetIterator())
                    {
                        string text;
                        Match match;
                        iter.Begin();
                        do
                        {
                            text = iter.GetText(PageIteratorLevel.TextLine);
                            match = regex.Match(text);
                            if (match.Success)
                            {
                                identityNum = match.ToString();
                                break;
                            }
                        }
                        while (iter.Next(PageIteratorLevel.TextLine));
                    }
                }
            }
        }
    }
    catch
    {
    }
    return identityNum;
}

执行页面大约需要40秒。GetIterator()方法。有人知道提高性能的任何设置或方法吗?

tesseract包装器—性能缓慢

除了将图像(基本上是裁剪)限制在你感觉文本所在的区域,这样处理的工作量就会减少之外,没有什么可做的。

Tesseract并不以其速度著称。