使用Tesseract界面进行OCR

toh*_*eng 30 c# ocr tesseract

你如何在c#中使用Tesseract的界面来识别tiff文件?
目前我只知道如何使用可执行文件.

Mau*_*fer 40

看看tessnet

  • +1 - 工作得很好,你忘记了DllImports (2认同)

cha*_*rit 10

源代码似乎适用于可执行文件,您可能需要重新编写一些东西,以便将其构建为DLL.我对Visual C++没有太多经验,但我认为通过一些研究不应该太难.我的猜测是有人可能已经制作了一个图书馆版本,你应该试试谷歌.

一旦你在DLL文件中有tesseract-ocr代码,你就可以通过Visual Studio将文件导入你的C#项目,并让它创建包装类并为你做所有的编组工作.如果你无法导入,那么DllImport将允许你从C#代码调用DLL中的函数.

然后,您可以查看原始可执行文件,以找到有关正确调用OCR tiff图像的函数的线索.


lin*_*ize 7

C#程序启动tesseract.exe,然后读取tesseract.exe的输出文件.

Process process = Process.Start("tesseract.exe", "out");
process.WaitForExit();
if (process.ExitCode == 0)
{
    string content = File.ReadAllText("out.txt");
}
Run Code Online (Sandbox Code Playgroud)


b_l*_*itt 6

我今天发现EMGU现在包括一个Tesseract包装器.虽然opencv lib的非托管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();
Run Code Online (Sandbox Code Playgroud)

"robomatics"汇集了一个非常好的YouTube视频,演示了一个简单而有效的解决方案.