你如何在 C# 中使用 Tesseract 的界面对 tiff 文件进行 OCR?
目前我只知道如何使用可执行文件来做到这一点。
5 回答
看看tessnet
源代码似乎适用于可执行文件,您可能需要重新连接一些东西,以便将其构建为 DLL。我对 Visual C++ 没有太多经验,但我认为通过一些研究应该不会太难。我的猜测是有人可能已经制作了一个库版本,你应该试试谷歌。
在 DLL 文件中包含 tesseract-ocr 代码后,您可以通过 Visual Studio 将该文件导入您的 C# 项目,并让它创建包装类并为您执行所有封送处理工作。如果您无法导入,则DllImport将允许您从 C# 代码调用 DLL 中的函数。
然后,您可以查看原始可执行文件以找到有关调用哪些函数以正确 OCR tiff 图像的线索。
C#程序启动tesseract.exe,然后读取tesseract.exe的输出文件。
Process process = Process.Start("tesseract.exe", "out");
process.WaitForExit();
if (process.ExitCode == 0)
{
string content = File.ReadAllText("out.txt");
}
我今天发现EMGU现在包含一个 Tesseract 包装器。虽然 opencv 库的非托管 dll 的数量可能看起来有点令人生畏,但快速复制到您的输出目录并不能解决问题。从那里开始,实际的 OCR 过程就像三行一样简单:
Tesseract ocr = new Tesseract(Path.Combine(Environment.CurrentDirectory, "tessdata"), "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_ONLY);
this.ocr.Recognize(clip);
optOCR.Text = this.ocr.GetText();
“robomatics” 制作了一个非常棒的 youtube 视频,展示了一个简单但有效的解决方案。
免责声明:我为 Atalasoft 工作
我们的OCR 模块支持 Tesseract,如果证明不够好,您可以升级到更好的引擎,只需更改一行代码(我们为多个 OCR 引擎提供通用接口)。