Tesseract 3 (OCR) -.net Wrapper

http://code.google.com/p/tesseractdotnet/

j'ai du mal à faire travailler Tesseract dans Mes projets Visual Studio 2010. J'ai essayé la console et les winforms et les deux ont le même résultat. J'ai rencontré une dll par quelqu'un d'autre qui prétend avoir de travail dans VS2010:

http://code.google.com/p/tesseractdotnet/issues/detail?id=1

j'ajoute une référence à la dll que l'on peut trouver dans l'annexe pour poster 64 à partir du site web ci-dessus. Chaque fois que je construis mon projet, je reçois un AccessViolationException en disant qu'une tentative de lecture ou d'écriture de mémoire protégée.

public void StartOCR()
{
    const string language = "eng";
    const string TessractData = @"C:UsersJoeDesktoptessdata";

    using (TesseractProcessor processor = new TesseractProcessor())
    {
        using (Bitmap bmp = Bitmap.FromFile(fileName) as Bitmap)
        {
            if (processor.Init(TessractData, language, (int)eOcrEngineMode.OEM_DEFAULT))
            {
                string text = processor.Recognize(bmp);
            }
        }
    }
}

l'exception de violation de l'accès indique toujours if (processor.Init(TessractData, language, (int)eOcrEngineMode.OEM_DEFAULT)). J'ai vu quelques suggestions assurez-vous que la solution de plate-forme x86 dans le gestionnaire de configuration et que l'emplacement du dossier tessdata est terminé avec slash, en vain. Des idées?

21
demandé sur Konamiman 2012-04-09 02:15:09

4 réponses

il semble que le contenu du dossier tessdata soit à l'origine du problème. Obtenu le tessdata le dossier du premier lien et tout fonctionne maintenant.

7
répondu Jpin 2012-07-31 15:06:07

je viens de terminer un projet avec tesseract engine 3. je pense qu'il y a un bug dans le moteur, qui doit être corrigé. Ce que j'ai fait pour supprimer "AccessViolationError" est, ajouter "\tessdata" à la chaîne de répertoire tessdata réelle. Je ne sais pas pourquoi, mais le moteur semble tronquer le répertoire interne dans le chemin de Tessdata.

vient de faire le paquet complet OCR (Dlls+Tessdata (anglais)) qui fonctionne avec .net framework 4.

2
répondu Umar Hassan 2012-07-15 17:57:03

Si quelqu'un a le même problème et des conseils slash ne fonctionne pas, essayez... Deux slashes de fin! Fortement. Il fonctionne pour moi.

if (processor.Init(@".\tessdata\", "eng", (int)eOcrEngineMode.OEM_DEFAULT))
0
répondu G. Goncharov 2014-10-31 15:05:51

Semble que votre problème concerne le problème de stabilité mentionnés ici. Sur l'officiel site il est recommandé d'utiliser la version précédente de stable 2.4.1. Vous pouvez l'installer à partir de nuget.org via la commande package manager:Install-Package Tesseract -Version 2.4.1

0
répondu Nikita 2016-02-12 20:36:40