gpt4 book ai didi

c# - 如何加速 tesseract OCR

转载 作者:行者123 更新时间:2023-11-30 20:30:44 24 4
gpt4 key购买 nike

我正在尝试对大量文档进行 OCR(我的意思是每天在 300k + 范围内)。目前我正在使用 Tesseract wrapper for .NET质量都很好,但速度不够好。我从同一个 pdf 并行扫描半页的 20 个任务平均每次扫描 2,546 秒。我使用的代码:

using (var engine = new TesseractEngine(Tessdata, "eng", EngineMode.TesseractOnly))
{
Page page;
page = engine.Process(image, srcRect);
var text = page.GetText();
return Task.FromResult(text);
}

我得到的平均时间是在将图像分辨率降低一半并将其转换为灰度之后。有什么想法可以加快这个过程吗?我不需要分割文本,只需要一行中的文本。我是否应该使用 Matlab for c#? 之类的东西?

最佳答案

目前,您为扫描的每个页面创建一个新的 TesseractEngine 对象。创建引擎的成本很高,因为它会读取“tessdata”文件。

您说您有 20 个并行任务在运行。由于引擎无法一次处理多个页面,因此您需要为每个任务创建一个引擎并将其重新用于该任务处理的所有页面。您可以简单地调用 using (var page = Engine.Process(pix)) 以使用现有引擎处理下一页。

重用引擎应该会显着提高性能,因为您只需要创建 20 个引擎而不是 300k。

关于c# - 如何加速 tesseract OCR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44322767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com