31

How do you OCR an tiff file using Tesseract's interface in c#?
Currently I only know how to do it using the executable.

4

5 に答える 5

40

tessnetを見てください

于 2008-09-24T14:14:37.003 に答える
10

ソースコードは実行可能ファイル用に調整されているように見えましたが、代わりに DLL としてビルドされるように、一部を少し再配線する必要があるかもしれません。私は Visual C++ の経験があまりありませんが、研究によってはそれほど難しくないと思います。私の推測では、誰かが既にライブラリ バージョンを作成している可能性があるため、Google を試してみてください。

DLL ファイルに tesseract-ocr コードを記述したら、Visual Studio を介してそのファイルを C# プロジェクトにインポートし、ラッパー クラスを作成して、すべてのマーシャリングを行うことができます。インポートできない場合、DllImportを使用すると、C# コードから DLL 内の関数を呼び出すことができます。

次に、元の実行可能ファイルを見て、tiff 画像を適切に OCR するために呼び出す関数の手がかりを見つけることができます。

于 2008-08-27T17:26:42.807 に答える
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");
}
于 2013-06-10T05:36:30.053 に答える
6

今日、EMGUに Tesseract ラッパーが含まれていることを発見しました。opencv lib の管理されていない dll の数は少し気が遠くなるように思えるかもしれませんが、出力ディレクトリにすばやくコピーするだけで問題が解決しないわけではありません。そこから、実際の OCR プロセスは次の 3 行と同じくらい簡単です。

Tesseract ocr = new Tesseract(Path.Combine(Environment.CurrentDirectory, "tessdata"), "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_ONLY);
this.ocr.Recognize(clip);
optOCR.Text = this.ocr.GetText();

「ロボティクス」は、シンプルだが効果的なソリューションを示す非常に優れた YouTube ビデオをまとめました。

于 2013-08-06T00:58:13.717 に答える
0

免責事項: 私はアタラソフトで働いています

当社のOCR モジュールは Tesseractをサポートしており、それが十分でないことが判明した場合は、より優れたエンジンにアップグレードして、1 行のコードを変更するだけです (複数の OCR エンジンに共通のインターフェイスを提供します)。

于 2009-05-29T12:22:17.700 に答える