Question

Comment OCR un fichier tiff à l'aide de l'interface de Tesseract en c# ?
Actuellement, je ne sais comment le faire qu'en utilisant l'exécutable.

Était-ce utile?

La solution

Le code source semblait être conçu pour un exécutable, vous devrez peut-être recâbler un peu les éléments pour qu'ils soient plutôt construits sous forme de DLL.Je n'ai pas beaucoup d'expérience avec Visual C++ mais je pense que cela ne devrait pas être trop difficile avec quelques recherches.Je suppose que quelqu'un a peut-être déjà créé une version de bibliothèque, vous devriez essayer Google.

Une fois que vous avez le code tesseract-ocr dans un fichier DLL, vous pouvez ensuite importer le fichier dans votre projet C# via Visual Studio et lui demander de créer des classes wrapper et d'effectuer toutes les tâches de marshaling pour vous.Si vous ne pouvez pas importer, alors Importation Dll vous permettra d'appeler les fonctions de la DLL à partir du code C#.

Ensuite, vous pouvez jeter un œil à l'exécutable d'origine pour trouver des indices sur les fonctions à appeler pour OCR correctement une image tiff.

Autres conseils

Jeter un coup d'œil à tessnet

Le programme C# lance tesseract.exe puis lit le fichier de sortie de tesseract.exe.

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

J'ai découvert aujourd'hui que EMGU inclut désormais un wrapper Tesseract.Bien que le nombre de DLL non gérées de la bibliothèque opencv puisse sembler un peu intimidant, il n'y a rien qu'une copie rapide dans votre répertoire de sortie ne puisse résoudre.À partir de là, le processus OCR réel est aussi simple que trois lignes :

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

"robomatique" réunie une très belle vidéo youtube cela démontre une solution simple mais efficace.

Clause de non-responsabilité:Je travaille pour Atalasoft

Notre Le module OCR prend en charge Tesseract et si cela ne suffit pas, vous pouvez passer à un meilleur moteur et simplement modifier une ligne de code (nous fournissons une interface commune à plusieurs moteurs OCR).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top