Frage

Wie kann man eine TIFF-Datei mithilfe der Tesseract-Schnittstelle in C# mit OCR versehen?
Derzeit weiß ich nur, wie es mit der ausführbaren Datei geht.

War es hilfreich?

Lösung

Der Quellcode schien auf eine ausführbare Datei ausgerichtet zu sein. Möglicherweise müssen Sie einige Dinge umverdrahten, damit er stattdessen als DLL erstellt werden kann.Ich habe nicht viel Erfahrung mit Visual C++, aber ich denke, dass es mit etwas Recherche nicht allzu schwierig sein sollte.Ich vermute, dass jemand bereits eine Bibliotheksversion erstellt hat. Sie sollten es mit Google versuchen.

Sobald Sie Tesseract-OCR-Code in einer DLL-Datei haben, können Sie die Datei über Visual Studio in Ihr C#-Projekt importieren und es Wrapper-Klassen erstellen lassen und alle Marshalling-Aufgaben für Sie erledigen lassen.Wenn Sie nicht importieren können, dann DllImport ermöglicht es Ihnen, die Funktionen in der DLL über C#-Code aufzurufen.

Dann können Sie einen Blick auf die ursprüngliche ausführbare Datei werfen, um Hinweise darauf zu finden, welche Funktionen aufgerufen werden müssen, um ein TIFF-Bild ordnungsgemäß zu OCRen.

Andere Tipps

Schauen Sie mal rein tessnet

Das C#-Programm startet tesseract.exe und liest dann die Ausgabedatei von tesseract.exe.

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

Das habe ich heute entdeckt EMGU Enthält jetzt einen Tesseract-Wrapper.Während die Anzahl der nicht verwalteten DLLs der opencv-Bibliothek ein wenig entmutigend erscheinen mag, ist es nichts, was ein schnelles Kopieren in Ihr Ausgabeverzeichnis nicht beheben könnte.Von da an besteht der eigentliche OCR-Prozess aus nur noch drei Zeilen:

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

„Robomatik“ zusammengestellt ein sehr schönes Youtube-Video Das zeigt eine einfache, aber effektive Lösung.

Haftungsausschluss:Ich arbeite für Atalasoft

Unser Das OCR-Modul unterstützt Tesseract Und wenn sich das als nicht gut genug erweist, können Sie auf eine bessere Engine upgraden und nur eine Codezeile ändern (wir stellen eine gemeinsame Schnittstelle für mehrere OCR-Engines bereit).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top