Tesseract 3 mit Visual Studio 2010

Tesseract unter Visual Studio 2010 zum laufen zu bekommen ist nicht ganz einfach. Hier die erforderlichen Schritte:

Download

Auf der Tesseract Seite unter Downloads folgende Dateien runterladen:

  • tesseract-3.01-win_vs.zip (oder neuere Version)
  • tesseract-3.01.tar.gz (oder neuere Version)

Beide Dateien entpacken unter C:\. Es sollte folgende Ordnerstruktur entstehen:

- C:\tesseract-3.01
  - api
  - ccmain
  - ...
  - vs2008
  - vs2010

Build in VS 2010

Im Ordner vs2010 die Datei tesseract.sln öffnen. Unter Build->Build Solution auswählen (keine Ahnung wie das auf deutsch heißt). Ich hab das ganze einmal für Debug und einmal für Release gemacht.

Falls ihr folgenden Fehler bekommt

error C2146: syntax error : missing ';' before identifier 'inT64'   
error C2146: syntax error : missing ';' before identifier 'uinT64'   
 IntelliSense: identifier "INT64" is undefined     
IntelliSense: identifier "UINT64" is undefined

müsst ihr die Datei C:\tesseract-3.01\ccutil\host.h anpassen. Und zwar in Zeile 122 von

#if (_MSC_VER >= 1200)

in

#if (_MSC_VER >= 12000)

Neues Projekt mit Tesseract

Nun habe ich in VS ein neues leeres Projekt erstellt und eine cpp-Datei angelegt. Unter den Projekt-Einstellungen muss noch folgendes eingefügt werden.

Unter Configuration Properties->VC++ Directories muss unter Reference Directories folgende Zeilen hinzugefügt werden:

C:\tesseract-3.01\ccmain
C:\tesseract-3.01\ccutil
C:\tesseract-3.01\ccstruct
C:\tesseract-3.01\api

Jetzt kopiert ihr am besten alle *.lib Dateien aus dem Ordner C:\tesseract-3.01\vs2010\Debug i

n das Verzeichnis C:\tesseract-3.01\lib\debug und die *.lib Dateien aus dem Ordner C:\tesseract-3.01\vs2010\Release in das Verzeichnis C:\tesseract-3.01\lib\release. Zusätzlich kopiert ihr alle Dateien aus dem Ordner C:\tesseract-3.01\vs2008\lib in das Verzeichnis C:\tesseract-3.01\lib.

Unter Configuration Properties->Linker->General müssen unter Additional Library Directories folgendes Verzeichnis hinzugefügt werden:

C:\tesseract-3.01\lib
C:\tesseract-3.01\lib\debug
C:\tesseract-3.01\lib\release

Unter Configuration Properties->Linker->Input müsst ihr unter Additional Dependencies noch folgende Einträge einfügen:

libtesseract-debug.lib
liblept.lib

Meine cpp-Datei sieht wie folgt aus:

#include "baseapi.h"

using namespace std;
using namespace tesseract;
int main()
{
    TessBaseAPI tess;
    tess.Init("tessdata", "deu");
    char* text = tess.TesseractRect(NULL, 1, 1, 0, 0, 1, 1);
    tess.End();

    return 0;
}

Ein weiter wichtiger Schritt ist die Anpassung der Pfade unter Windows. Ihr müsst folgenden Pfade der PATH Variable hinzufügen:

C:\tesseract-3.01\vs2010\bin.dbg
C:\tesseract-3.01\vs2010\bin.rel

Das könnt ihr entweder von Hand machen oder mit dem Tool Path Editor.

Das Projekt sollte jetzt kompilieren. Allerdings nicht laufen, weil wir ja kein Bild mitgegeben haben. Wie wir das hinbekommen könnt ihr im nächsten Artikel nachlesen.

Weiter gehts mit: Tesseract in Visual Studio 2010 mit OpenCV 2.4.3rc

Update vom 01.11.2012

Einige Fehler korrigiert.

zp8497586rq
zp8497586rq

Comments are closed.