Ich habe mir eine Software zur Büroautomation geschrieben.
Meine Software scannt Rechnungen ab Netzwerkscanner und archiviert diese als PDF wobei der reine Text als Blob in die Datenbank gespeichert wird (zum durchsuchen).
Geschrieben als HTML/ PHP/ Shell mit einem Web-Front-End.
Nun möchte ich den Einzahlungsschein erkennen können:
Einzahlungsschein als separates Bild ausschneiden (TIF)
Einzahlungsschein per OCR an bestimmten Positionen lesen
Der Einzahlungsschein kann an beliebiger Position auf einer A4 Seite sein. Hat aber eine definierte Grösse, Layout und Form.
Frage:
Hat sich vielleicht schon Mal jemand mit Mustererkennung per Shell Script auseinandergesetzt und kann mir ein paar Tips geben?
Wie erkenne ich den Einzahlungsschein zuverlässig?
Aus einem TIFF gemäß Vorgaben einen Teil erkennen, auszuschneiden und zu speichern habe ich schon mal gemacht. Ist so kompliziert nicht.
Die Musterkennung - vielleicht habe ich dich ja nur falsch verstanden - erfolgt nicht durch das Shell-Script, dort wurde nur das entsprechende Programm aufgerufen.
Dann kann die OCR folgen und die daraus resultierende Text-Datei wieder nach bestimmten Patterns,/Positionen durchsucht werden.
Bei mir sah es so aus:
Vorlage > Scannen > TIFF > speichern > Öffnen > Bearbeitung durch externes Programm (ausschneiden) > speichern > öffnen > OCR (lesen) > speichern > Text suchen etc. > Weiterverarbeitung.
Aus einem TIFF gemäß Vorgaben einen Teil erkennen,
auszuschneiden und zu speichern habe ich schon mal gemacht.
Ist so kompliziert nicht.
Ja, genau das möchte ich machen.
Kannst Du mir Deinen Script zur Verfügung stellen?
Die Musterkennung - vielleicht habe ich dich ja nur falsch
verstanden - erfolgt nicht durch das Shell-Script, dort wurde
nur das entsprechende Programm aufgerufen.
Ja, so ist das natürlich gedacht.
Dann kann die OCR folgen und die daraus resultierende
Text-Datei wieder nach bestimmten Patterns,/Positionen
durchsucht werden.
Bei mir sah es so aus:
Vorlage > Scannen > TIFF > speichern > Öffnen > Bearbeitung
durch externes Programm (ausschneiden) > speichern > öffnen >
OCR (lesen) > speichern > Text suchen etc. >
Weiterverarbeitung.
Bei mir ist das ähnlich
PHP Aufruf -> scannen -> VorBearbeitung -> OCR Trennseite erkennen -> [A] -> in PDF -> Dokumentenarchiv
Neu möchte ich halt bei [A] den Einzahlungsschein erkennen -> Verarbeiten -> Archivieren
Ich guck mir die Doku gerne durch. Auf den ersten Blick finde ich es etwas „oversized“. Aber eben, ich gucks noch durch.
Das was ich möchte, sollte eigentlich auch mit z.B ImageMagick möglich sein.
bei FlexBüro, jpg
… etwa so erhält man die normalerweise zugeschickt und so werden sie bei eingelesen.
Allen gemeinsam ist die Farbe und die Form. Boxen, Rahmen und Schnittmarken sind nicht immer vorhanden. Hingegen sollten die Positionen der DatenFelder in etwa gleich sein.
Eine A4 Seite kann mehrere Einzahlungsscheine enthalten und die Position auf dem A4 ist beliebig.
Falls ich Dir dann später noch eine gescannte Datei von mir senden darf, mach ich das gerne.