POCR PHP Texterkennungsklasse Dokumentation

POCR PHP Texterkennungsklasse Dokumentation

Inhaltsverzeichnis

  1. 1 Voraussetzungen für den reibungslosen Betrieb
    1. 1.1 Systemvorrausetzung
    2. 1.2 Vorrausetzungen der Bilder
    3. 1.3 Vorrausetzungen für die Texterkennung
  2. 2 Lizenzbedingungen
  3. 3 Start und Verwendung von POCR
    1. 3.1 Speichern der Daten nach dem Download
    2. 3.2 Aufrufen der POCR Benutzeroberfläche
    3. 3.3 Definition der Zeichen und Anlegen einer Schriftart
      1. 3.3.1 Erzeugen einer neuen Schriftart
  4. 4 Text erkennen
    1. 4.1 Beispielscript aufrufen
    2. 4.2 Erkennung von Text aus eigenen Bildern mit der POCR Klasse
      1. 4.2.1 Einbinden der Pocr Klasse
      2. 4.2.2 Erzeugen eines Objekts der Pocr Klasse
      3. 4.2.3 Relativer Pfad zur PHP Klassendatei festlegen
      4. 4.2.4 Methode zur Texterkennung
  5. 5 Schriftart ändern
    1. 5.1.1 Zeichen löschen
    2. 5.1.2 Werte von Zeichen ändern
    3. 5.1.3 Neue Zeichen zu Schriftart hinzufügen
  6. 6 Schriftart löschen
  7. 7 Hinweise Zur Funktionalität und Version

1 Voraussetzungen für den reibungslosen Betrieb

1.1 Systemvorrausetzung

Für die Nutzung der POCR Texterkennungsklasse muss PHP von ihrem Server oder ihrem PC mit z.B. XAMPP unterstützt werden.

Die PHP Erweiterung GDLIB muss unterstützt werden für alle Prozesse der Bildverarbeitung.

Außerdem ist ein Browser mit eingeschaltetem JavaScript nötig.

1.2 Vorrausetzungen der Bilder

Bitte beachten Sie, dass nur Text aus Bildern mit folgenden Eigenschaften erkannt werden kann:

  • Das Bildformat muss PNG oder JPEG sein, wobei allerdings nur PNG Bilder voll unterstützt werden.
  • Der Hintergrund des Bildes muss einfarbig und immer gleich sein.
  • Es wird nur eine Zeile an Text erkannt, also Bitte nur Bilder verwenden, bei dem ein einzeiliger Text vorhanden ist.
  • Die Zeichen im Bild müssen immer den gleichen Aufbau und die gleichen Farbwerte haben.
  • Die Zeichen müssen mindestens 1 Pixel, durch die Hintergrundfarbe von einander getrennt sein.

1.3 Vorrausetzungen für die Texterkennung

Um Text aus Bildern zu erkennen, müssen alle Zeichen die erkannt werden sollen anfangs einmalig definiert werden.

Dies können Sie im Hauptmenü von POCR erledigen.

Später wird genau erklärt wie die Zeichen bzw. die Schriftart erzeugt bzw. geändert werden können.

2 Lizenzbedingungen

Die POCR Klasse bzw. Oberfläche unterliegt keinen Lizenzbestimmungen und kann sowohl privat als auch gewerblich voll genutzt werden.

3 Start und Verwendung von POCR

3.1 Speichern der Daten nach dem Download

Um POCR verwenden zu können müssen Sie die ZIP Datei mit dem POCR Ordner entpacken und in Ihrem htdocs- oder Serververzeichnis ablegen.

Falls Sie XAMPP verwenden, könnte die Ordnerstruktur wie folgt aussehen:

MeinLaufwerk:/xampp/htdocs/POCR

3.2 Aufrufen der POCR Benutzeroberfläche

Um alle wichtigen Einstellungen vorzunehmen, rufen Sie bitte den POCR Ordner mit Ihrem Browser auf.

Also z.B. folgender Pfad:

localhost/POCR

Wenn Sie den POCR Ordner aufrufen erscheint sofort die POCR Benutzeroberfläche.

Hier ein Screenshot der Benutzeroberfläche:

3.3 Definition der Zeichen und Anlegen einer Schriftart

Wenn Sie die POCR Benutzeroberfläche aufgerufen haben, kommen wir zum nächsten Schritt, nämlich dem anlegen einer neuen Schriftart.

Um einen Text später über eine Methode der POCR Klasse zu erzeugen müssen zuerst alle Zeichen die in den auszulesenden Bildern vorkommen definiert werden.

Die Definition der Zeichen erfolgt über den Menüpunkt Neue Schriftart definieren.

3.3.1 Erzeugen einer neuen Schriftart

Um neue Zeichen zu definieren klicken Sie auf Neue Schriftart definieren.

Bitte geben Sie anschließend einen Namen für die Schriftart ein.

Wichtig: der Name für die Schriftart darf keine Leer- oder Sonderzeichen enthalten und muss mindestens 4 Zeichen lang sein.

Wenn Sie einen Namen eingegeben haben, klicken Sie auf Namen übernehmen und weiter zur Definition der Zeichen, um danach die Zeichen festzulegen.

Im Anschluss muss ein Bild ausgewählt werden in dem sich die Zeichen befinden die definiert werden sollen.

Das Bild muss über durchsuchen ausgewählt werden.

Bitte wählen Sie ein Bild aus dass möglichst alle Zeichen die definiert werden sollen enthält.

Um das Bild zu laden klicken Sie nach der Auswahl auf Bild laden.

Nun wird Ihr Bild hochgeladen.

Beim hochladen werden alle Zeichen die in dem Bild enthalten sind versucht auszulesen.

Im nächsten Schritt werden alle gefunden Zeichen angezeigt und hinter jedem ein Eingabefeld.

Bitte geben Sie hinter jedes angezeigte Zeichen den Wert an den dieses Zeichen hat.

Also wenn z.B. bei Zeichen eine Grafik mit dem Buchstaben T steht, dann geben Sie dahinter in das Eingabefeld ein T ein.

Im folgenden ein Screenshot zur Zeichendefinition.

Sobald Sie die Werte für alle Zeichen eingegeben haben, klicken Sie auf Zeichen übernehmen und Schriftart erzeugen um die Schriftart anzulegen.

Wichtiger Hinweis: Normalerweise sind in der angegebenen Grafik nicht alle Zeichen, die definiert werden sollen enthalten. In diesem Fall müssen Sie über den Menüpunkt Bestehende Schriftart ändern, weitere Zeichen hinzufügen. Bitte lesen Sie hierfür den Abschnitt Schriftart ändern.

4 Text erkennen

Wenn Sie eine Schriftart definiert haben, kommen wir zum nächsten Schritt, dem erkennen von Text mit der Texterkennungsmethode.

Wichtig ist: Sie müssen eine Schriftart bzw. Zeichen definiert haben und müssen ein Bild haben auf dem Zeichen abgebildet sind, die in der Schriftart definiert sind.

Nachfolgend wird beschreiben, wie Sie ein Beispielscript ausführen und anschließend wird auf die Methode um Text aus Bildern zu erkennen eingegangen.

4.1 Beispielscript aufrufen

Um die Art und Weise wie POCR arbeitet zu verstehen wird im folgenden erklärt wie man ein Beispielscript aufruft.

Das Beispielscript funktioniert nur wenn Sie die Test Schriftart example_font, die anfangs mitgeliefert wird, nicht gelöscht haben.

Gehen Sie nun in den Ordner examples im POCR Ordner.

In diesem Ordner ist sowohl ein Beispielscript mit dem Namen get_text_from_image_example.php als auch ein Testbild in dem das Wort Testwort enthalten ist.

Um die Funktionalität von POCR zu testen können Sie das Beispielscript aufrufen.

Rufen Sie hierfür das Beispielscript über folgenden Pfad aus dem Browser auf.

localhost/POCR/examples/get_text_from_image_example.php

Nun müsste das Wort Testwort in Ihrem Browser erscheinen.

Nun wissen Sie, dass POCR bei Ihnen funktioniert.

Jetzt aber zum wichtigsten Thema, der Benutzung der POCR Texterkennungsklasse und der Texterkennung von eigenen Bildern mit den eigens definierten Schriftarten.

4.2 Erkennung von Text aus eigenen Bildern mit der POCR Klasse

In dem vorangegangenen Beispielscript ist der genaue Aufruf der Pocr Klasse bzw. der Methode zur Texterkennung enthalten.

Unter anderem sind alle Vorgänge auskommentiert.

Falls Sie trotzdem eine genaue Erklärung der Art und Weise, wie die Pocr Klasse und die Texterkennung Funktioniert so wird dies im folgenden erklärt.

Nun zur genauen Erläuterung der einzelnen Schritte um die Pocr Klasse zu verwenden.

4.2.1 Einbinden der Pocr Klasse

Zuerst muss die PHP Datei class.pocr.php mittels include in die entsprechende PHP Datei eingebunden werden. Die class.pocr.php Datei befindet sich im POCR Ordner.

Als nächstes muss ein neues Objekt der Pocr Klasse erzeugt werden.

4.2.2 Erzeugen eines Objekts der Pocr Klasse

Um mit der Pocr Klasse arbeiten zu können, müssen Sie ein Objekt dieser Klasse erzeugen, dies geht wie folgt:

$pocr_obj = new Pocr();

Als Name des Objekts können Sie natürlich jeden beliebigen nehmen.

Nun da das Objekt erzeugt wurde kommen wir zum nächsten Schritt, der Defintion des relativen Pfades zur POCR Klassendatei von Ihrer PHP Datei aus gesehen.

4.2.3 Relativer Pfad zur PHP Klassendatei festlegen

Um die Klasse nutzen zu können muss der relative Pfad von der aufrufenden Datei zur Klassendatei class.pocr.php festgelegt werden.

Wenn man das Beispielscript, das sich im examples Ordner befindet, zugrunde legt dann wäre der relative Pfad zur Klassendatei folgender:

../

Der Pfad muss jetzt noch an die Klasse übergeben werden. Bitte rufen Sie hierfür folgende Zeile auf:

$pocr_obj->current_path = "../";

Hier wiederum können Sie natürlich Ihren eigenen Namen für das Objekt verwenden.

Wichtig ist, dass der Pfad an das public Attribut current_path mit -> übergeben wird.

Nun können alle Aufrufe von bestimmten Dateien von der Klasse erledigt werden, da jetzt klar ist von wo der Aufruf erfolgt.

Im folgenden muss die Methode zur Erkennung von Text aufgerufen werden.

4.2.4 Methode zur Texterkennung

Zur Texterkennung muss folgende Methode aufgerufen werden:

get_text_from_picture(parameter 1,parameter 2, parameter 3);

Der Aufruf mit dem erzeugten Objekt würde so aussehen:

$pocr_obj->get_text_from_picture(parameter 1,parameter 2, parameter 3);

4.2.4.1 Definition der Parameter

parameter 1: Der erste Parameter ist der Pfad zu dem Bild aus dem Text erkannt werden soll.

Typ: String

Beispiel: "testwort.png"

parameter 2: Der zweite Parameter ist der Name der Schriftart die definiert wurde und auf die Zeichen in dem zu erkennenden Bild passen soll.

Typ: String

Im Beispiel vom Beispielscript wäre das die definierte Testschriftart "example_font". Um zu schauen welche Schriftarten schon definiert sind und wie Sie heißen gehen Sie ins POCR Hauptmenü und klicken Sie auf Bestehende Schriftart ändern. Nun können Sie alle bestehenden Schriftarten aus dem Drop Down Menü anzeigen lassen.

parameter 3: Der dritte Parameter ist die minimale Breite eines Leerzeichens in Pixel. Das die Texterkennungsmethode erkennen kann wann ein Leerzeichen vorhanden ist, muss angegeben werden ab wieviel Pixel breite wo keine Zeichen vorhanden sind ein Leerzeichen zurückgegeben werden soll.

Typ: Integer

Ein möglicher Wert wäre 6. Das würde bedeuten, dass nach 6 Pixeln bei denen kein Zeichen enthalten ist, ein Leerzeichen mit zurückgegeben wird.

Ein möglicher Aufruf mit allen Parametern würde so aussehen:

$pocr_obj->get_text_from_picture("testwort.png", "example_font", 6);

4.2.4.2 Rückgabewerte der Methode

Rückgabe bei Erfolg: String mit erkannten Zeichen

Rückgabe bei Fehler: Bool mit false

Bei Erfolg
Sollte das Bild ohne Probleme eingelesen und verarbeitet werden können, so wird ein String mit den erkannten Zeichen zurückgegeben.

Beispiel: Wenn in dem zu erkennenden Bild das Wort Hallo steht, dann wird der String "Hallo" zurückgegeben.

Sollten einige Zeichen nicht erkannt werden, z.B. weil sie nicht definiert sind, so wird für jedes nicht erkannte Zeichen das Wort unbekannt im String mit zurückgegeben.

Beispiel: Wenn in dem zu erkennenden Bild das Wort Hallo steht aber die Zeichen H und o nicht erkannt würden, so würde folgender String zurückgegeben:

"unbekannt all unbekannt".

Bei Fehler
Sollte das Bild nicht eingelesen werden können oder ein sonstiger Fehler auftreten, wird false zurückgegeben.

Möglicher Aufruf
Ein möglicher Aufruf mit prüfen auf Fehler, Speicherung und Ausgabe des Rückgabestrings würde so aussehen:

if($text_from_picture = $pocr_obj->get_text_from_picture("testwort.png", "example_font", 6)) {

// Ausgabe des zurückgegebenen Texts

echo "<p>".$text_from_picture."</p>";

}

In diesem Beispiel wird der Rückgabe String ausgegeben, wenn nicht false zurückgegeben wird.

Mit diesem Beispiel ist die Erklärung und Beschreibung der Texterkennungsmethode abgeschlossen.

Nun müssten Sie wissen wie diese zu bedienen ist.

Im Folgenden noch Informationen zur Änderung und Löschung von Schriftarten.

5 Schriftart ändern

Zum ändern einer Schriftart müssen Sie ins POCR Hauptmenü.

Ein Beispiel für den Aufruf im Browser wäre:

localhost/POCR

Wenn Sie bereits eine Schriftart erzeugt haben, aber noch Zeichen fehlen oder geändert werden müssen dann klicken Sie auf den Menüpunkt Bestehende Schriftart ändern.

Wählen Sie jetzt die Schriftart aus die geändert werden soll.

Im Anschluss werden alle Zeichen der Schriftart angezeigt.

Hier können Sie Zeichen löschen, einem Zeichen einen neuen Wert zuweisen oder neue Zeichen hinzufügen.

5.1.1 Zeichen löschen

Wenn Sie ein oder mehrere Zeichen löschen möchten, dann wählen Sie vor jedem Zeichen das Feld löschen aus.

Um die Zeichen endgültig zu löschen klicken Sie auf Änderung übernehmen und bestätigen Sie mit OK.

5.1.2 Werte von Zeichen ändern

Wenn Sie den Wert eines Zeichens ändern möchten, dann geben Sie einfach in das dahinter stehende Feld mit der Überschrift Wert einen neuen Wert ein.

5.1.3 Neue Zeichen zu Schriftart hinzufügen

Möchten Sie Zeichen zu einer bestehenden Schriftart hinzufügen, z.B. weil noch nicht alle Zeichen definiert sind so klicken Sie bitte auf Neue Zeichen hinzufügen.

Nun wählen Sie eine Grafik aus in der Zeichen für diese Schriftart enthalten sind.

Dies geht in dem Sie auf Durchsuchen klicken.

Haben Sie das Bild ausgewählt, dann klicken Sie auf Bild laden.

Im Folgenden werden alle Zeichen aus dem Bild die erkannt wurden, aber noch nicht definiert sind angezeigt. Wichtig: Falls in dem ausgewählten Bild nur Zeichen enthalten sind, die schon definiert sind, so wird eine Fehlermeldung ausgegeben und Sie müssen ein anderes Bild auswählen.

Geben Sie bitte für alle Zeichen einen Wert ein.

Um die neuen Zeichen zu speichern klicken Sie bitte auf Zeichen übernehmen & hinzufügen.

6 Schriftart löschen

Möchten Sie eine Schriftart löschen, so gehen Sie mit Ihrem Browser ins Hauptmenü:

Rufen Sie dazu im Browser den POCR Ordner auf.

Beispiel: localhost/POCR

Nun klicken Sie auf Bestehende Schriftart löschen. Im Anschluss wählen Sie die Schriftart aus, die gelöscht werden soll und klicken Sie dann auf Schriftart löschen. Bestätigen Sie anschließend mit OK.

Die Schriftart wird nun gelöscht.

7 Hinweise Zur Funktionalität und Version

Es handelt sich bei der aktuellen POCR Klasse um eine Beta Version, die sich in ständiger Weiterentwicklung befindet. Es können also Fehler oder Störungen auftreten die noch nicht ausgemerzt sind. Insofern ist eine einwandfreie Funktion nicht gewährleistet, bitte haben Sie hierfür Verständnis.

Zurück zur POCR Seite