Frage

Ich mag meine Anwendung in einem einzigen Feld in einer Form zu füllen, existiert als Schwarz-Weiß-Bild-Datei. Die Form immer beginnt als die gleiche Papierversion, aber mit der Zeit meines Anwendung wird es von meinem Benutzer, es gescannt wurde oder gefaxt mehr als einmal. Aus diesem Grund ist das Feld Ich brauche nicht in der gleiche Stelle in jeder Datei.

Meine Benutzer bekommt von mir nicht immer die leere Form, so dass ich nicht haben die Möglichkeit, eine Marke zu drucken oder Platzhalter, ich kann erkennen später.

Es gibt Text auf dem Original leeren Formular, sondern weil es kann haben gefaxt worden sind, habe ich nur 200 dpi Auflösung. Der Text ist immer groß genug für einen Menschen zu lesen, aber ich bin skeptisch über OCR.

Ich habe einige Budget so dass ich nicht eine kostenlose Lösung brauchen ... lasst uns nur $ 2000 sagen.

Das heißt, ich bin am überlegen

  1. Erhalten Sie eine OCR-Lösung, den Text zu finden beschriften auf dem Feld die ich brauche. ich nicht Ich denke, die Ressourcen haben, oder Know-how zum Roll-my-own. ich nicht müssen perfekt Anerkennung, da ich weiß schon, was der Text sagt. Aber ich brauche X- kennen und Y-Koordinaten. Gibt es Software das bedeutet das? Oder ist die Programmierung einfacher, als ich denke?

  2. Bauen oder kaufen Software zu erkennen die Ränder des Formulars. Von dort, Ich konnte die relative Position erhalten von das Feld ich brauche. Ich denke an die gestrichelte Linie meiner Scanner-Software setzt um das Bild von ein kleines Dokument. Ist das ein bekannter algorhthm oder gibt es eine verfügbare Lösung?

  3. Einige andere Art und Weise das zu erkennen, Feld ich brauche. Versuche, google Ausfüllen von Formularen Software geben Sie mir Hunderte von Treffern für die Web-Formulare, PDF-Formulare, etc., die das nicht tun, was ich müssen.

Ich bin nicht wählerisch über die Sprache. Meine Anwendung läuft auf Linux, aber wenn die beste Lösung Microsoft ist, kann ich wahrscheinlich, dass die Arbeit machen.

Ich würde schätzen Ihre Gedanken.

War es hilfreich?

Lösung

Wenn ich richtig verstehe, ist die Form immer gleich ist, kann aber verschoben werden, skaliert oder etwas wegen Kopierer / Fax gedreht. In diesem Fall ist das Problem ein von Bildregistrierung : die optimale starre Transformation finden, die eine Form von einem Benutzer Linie bildet mit Ihrer „Modell“ Form, in der Sie weiß, die Lage des Feldes Interesse. Sobald Sie die Transformation kennen, können Sie die Position des Feldes in der Form des Benutzers berechnen.

Es gibt viele Bildregistrierungsalgorithmen, die typischerweise für Anwendungen entwickelt, wie Ausrichten MR-Bilder des Gehirns. Sie sind rechenintensiv und erfordern statistischen priors. Glücklicherweise ist der Fall einfacher: alles, was Sie tun müssen, ist ein Rechteck paßt um den Inhalt des Formulars des Benutzers. Koordinaten Abstieg funktionieren soll. Sie werden eine gewisse Toleranz für Lärm (Junk außerhalb der Form) benötigen.

Andere Tipps

Hier ist eine kleine Zusammenfassung einiger verfügbaren OCR-Lösungen (Open Source und nicht): http://googlesystem.blogspot.com/2007/04/open-source-ocr-software-sponsored-by.html

Starre Registrierung kann nicht genug sein. Die Benutzer können das Layout und die Formatierung einer Schablonenform, ändern, wie die Schriftart ändern, die Position eines Checkbox ändern oder ein Eingabefeld, einen Absatz in unterschiedlichen Positionen Newline brechen usw. Diese Unterschiede komplizierter zu behandeln sind, als mit den reinen Verschiebung, Rotation oder Skalierung Transformation. Außerdem, wenn Ihr Bild binäres Bild (schwarz und weiß), ich glaube nicht, diese medizinischen Bildregistrierungsalgorithmen (auf Graustufen-Bild arbeiten) viel helfen. Ihre Kostenfunktion und Minimierungsstrategien entsprechend geändert werden können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top