Dokumentenauswertung

  • Hi,
    ich bin schon wirklich sehr lange auf der Suche nach einem Programm, dass mir eingescannte Papierdokumente auswerten kann. Ich habe bald eine sehr große Umfrage am laufen und die Auswertung von Hand würde sehr lange dauern. In der Umfrage sind MultipleChoice-Fragen und ich muss erkennen welches Kästchen angekreuzt ist und das ganze dann in eine Datenbank speichern. Solche Programme gibt es wirklich.

    http://www.abbyy.de/flexicapture/?param=157927
    http://www.formpro.de/

    ABBYY Formreader macht einen sehr guten Eindruck, allerdings kommt man da so nicht dran. FormPro sieht aus wie von nem Hobbyprogrammierer, also nicht so professionell.
    Hat damit vielleicht schon jemand Erfahrung gesammelt?

    Ich habe jetzt schon öfters gefragt, aber nie eine richtige Antwort bekomme (http://forum.chip.de/rund-um-softwa…tml#post7615086).
    Das hier ist also mein letzter Versuch. Falls jemand da ne Idee hat würde mich das sehr freuen :).

    Danke
    anno2008 :)

  • Ja, ich könnte mir theoretisch ein Programm schreiben. Aber ich weis nicht wie gut das funktioniert. Vor allem weil ja nicht alle Bilder exakt gleich sind. Ich müsste die Kästchen suchen, die angekreuzt sind.
    Mir wäre halt ein "professionelles" Programm lieber, dass dann die fragen noch mit OCR auslesen kann oder so. Es gibt wirklich einige Programme, die das können. Allerdings sind die nur für Firmen gedacht und auch dementsprechend teuer. Selber Programmieren wäre die letzte Alternative. Ich gebe die Hoffnung nicht auf, dass ich beim suchen nach einem solchen Programm etwas übersehen habe :).

  • Formpro kommt der Sache doch schon sehr nahe denke ich...
    Aber für dreieinhalbtausend Euronen kannst du dich auch 4 Wochen hinsetzen und die Formulare selbst auswerten, das lohnt sich wirklich nur bei Masse^^
    Aber der Workflow stimmt und ist auch nicht sonderlich schwer in AutoIt umzusetzen. Ich versuch es mal am Beispiel einer Multiple-Choice-Seite:
    - nicht ausgefülltes Referenzblatt A scannen
    - Bereiche X1,X2,X3 , Y1,Y2 Z1,Z2,Z3,Z4 grafisch festlegen, in denen mögliche Änderungen erfasst werden , und bezeichnen
    - ausgefüllte (angekreuzte) Seite B scannen
    - den Bereich X1 von Blatt A mit dem Bereich X1 B vergleichen (verschiedene grafische Möglichkeiten). Wenn beim Vergleichen der beiden Bereiche eine bestimmte Schwelle überschritten ist, diesen Bereich als "angekreuzt" markieren .

    Für das Ausrichten der Scans, Normalisierung usw kann man (kostenlose) externe Programme verwenden. Für AutoIt bliebe nur noch die Auswahl der zu vergleichenden Bereiche und die Auswertung bzw. Prüfung auf "erlaubte" Kombinationen der angekreuzten Felder, d.h. die Bewertung auf Richtig/Falsch bzw Ungültig.

    Wenn du Interesse an einer Umsetzung in AutoIt hast, ich würde gerne mitmachen...

  • wenn dabei auch noch eine AutoIt-eigene Twain-Schnittstelle
    zum direkten Ansprechen eines Scanners rauskommt, dann wäre ich auch dabei

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Hi,
    Ok, ihr habt mich überzeugt :).
    Die Idee ist wirklich gut. Die Fragebögen sind soweit fertig. Ich werde allerdings noch schwarze Begrenzungsmarken dazumachen. Dann kann man die Bilder recht einfach zuschneiden und ausrichten, sodass die Postionen immer an der gleichen Stelle sind. Ich such mal grad noch, ob es schon eine Umsetzung in AutoIt gibt, um Barcodes auszulesen. Daran könnte man ganz einfach herausfinden, wo oben und unten ist und man könnte die Dokumente damit sehr leicht auseinanderhalten (Seitenzahl darin speichern und um welches Exemplar es sich handelt.)

    Eine eigene TWAIN-Schnittstelle wäre bestimmt interessant, aber man könnte doch auch einfach auf Programme wie Irfanview zugreifen.
    Andy, Schnuffel, wenn ihr mir ein wenig helfen könntet wäre das sehr nett :). Dann würde sich das ganze vielleicht auch rentieren :).

  • Du musst aber bedenken, dass es Leute gibt, die ein Kreuzchen machen, dass dann durchstreichen und dann ein neues setzen. Schonmal an eine Online-Umfrage gedacht?

  • Du musst aber bedenken, dass es Leute gibt, die ein Kreuzchen machen, dass dann durchstreichen und dann ein neues setzen. Schonmal an eine Online-Umfrage gedacht?


    Solche Fragebögen kann man doch für manuelles bearbeiten aussortieren. Das Programm kann dann ja erkennen, dass mehr als 1 Kästchen der Frage gefüllt ist und den Bogen weiterleiten.

  • schreib einfach eine PN wenn Du Unterstützung brauchst.

    Ich denke es macht Sinn, wenn Du die notwendigen Aufgaben dann auch gleich aufteilst,
    sofern wir das dann auch erledigen können :D

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Ok,
    werd ich machen, danke :).
    Ich werde das Programm auf jeden Fall mal programmieren. Die Auswertung der Umfragen ist für meine Schwester die gerade ihre Diplomarbeit schreibt.

    Allerdings habe ich heut erfahren, dass sie insgesamt 50000 Blatt auszuwerten hat. Ich weis nicht ob sich das überhaupt rentiert die alle einzuscannen, es sei denn man hätte einen vollautomatischen Ablauf, dass man nur scannen muss. Das wird dann aber viel Programmierarbeit.

    Hätte ich das vorher gewusst ...
    Wie sie das Überhaupt mal schaffen will, naja, ich bin mal gespannt.

  • Hi, quatsch, die eigentliche Arbeit (das Scannen) macht der Copyshop für kleines Geld sauschnell mit nem extra dafür gemachten Scanner^^. Lass dir (50.000 Seiten omg^) einige DVD´s mit den gescannten Seiten brennen oder schieb sie auf deinen webspace oder ftpserver. Wenn das prog einmal funzt, dann lass es einfach auf die 50000 Seiten los.....

    Und teil die Aufgaben auf wenn sich schon Leute anbieten. Scans (bilder) normalisieren, "geraderücken" und die ganzen anderen vorbereitenden Sachen lässt man von einem der 27453 Freeware-Programme machen, die dafür da sind ^^. selbst einen "schiefgescanntenBildergeraderückAlgorithmus" in AutoIt tut man sich nicht an!!!
    Zeig doch mal eine der Seiten, damit ich schon was zu tun habe...

  • selbst einen "schiefgescanntenBildergeraderückAlgorithmus" in AutoIt tut man sich nicht an!!!

    Naja, das ist ja eigentlich noch das einfachste. Ich mach auf jedes Blatt oben Ecken hin. Dann lass ich die Ecken mit AutoIt "suchen", was ich noch nicht genau weis wie ich das Umsetze (muss aber eh gemacht werden, da die Kreuze genau so erkannt werden müssen). Dann kann man anhand der ecken ja ganz einfach ausrechnen um wie viel Grad das Dokument schief ist. Drehen kann man es dann auch noch mit AutoIt (klappt noch nicht wirklich und die Lösung mit der nichtsehbaren GUI finde ich irgendwie unprofessionell, aber da findet sich noch was). Und zuschneiden dürfte das Problem auch nicht sein.

    Dann ein Programm schreiben, mit dem man die Ankreuzkästchen einzeichnen kann und das die Positionen dann in einer geeigneten Datenbank ablegt (Ini dürfte reichen).

    Dann das Hauptprogramm. Das muss die Seite erkennen können (an der Seitenzahl) und die Kästchen erkennen. Dann in einer Datenbank (SQL oder sowas) die Ergebnisse abspeichern.
    Das ganze in Verbindung mit einer TWAIN Schnittstelle, damit AutoIt "scannen kann" und direkt während dem scannen arbeiten kann.
    Ich hab eine Firma gefunden, die einen wirklich schnellen Dokumentenscanner ausleiht (angegeben mit 8000/Seiten pro Tag). Schneller kann das auch kein Copy-Shop.

    Ich schick dir das Dokument per PM, weil das nicht jeder sehen sollte.
    Es sind aber noch keine Ecken drin, und mit der Ausrichtung und dem Zuschneiden müsste man Anfangen, weil ja sonst keine Positionen stimmen.
    Am meisten Gedanken macht mir der Suchalgo für die markierten Felder. Man muss ja die beiden Bilder vergleichen. Also angekreuzt und nicht angekreuzt. Wenn das z.B. Binär gehen könnte wäre es einfach. Aber ich weis nicht wie man Bilder vergleicht, die auch kleine Unterschiede aufweisen könne, ohne, dass direkt ein Kreuz erkannt wird.

  • Zitat

    Dann lass ich die Ecken mit AutoIt "suchen"

    schau mal da PushTheButton

  • schau mal da PushTheButton

    Ja, deshalb war ich ja auch sehr froh, dass du dich direkt bereit erklärt hast mir zu Helfen :thumbup: .
    Einziger Nachteil ist die Speicherung als BMP. Die nimmt mehr platz weg, aber das dürfte machbar sein.
    Hoffentlich bekomm ich das hin, ich finde es ein schönes Projekt :).

    Dankeschön für die ganze Mühe :)

  • Ich muss den Thread einfach aus der Versenkung holen.

    Wie ist das Thema mit der Auswertung ausgegangen? Würde genau das selbe brauchen und wäre über weitere hilfe dankbar.

    Sichtlich kann man mit der GDI Api Ausschnitte in einem Bild suchen und müsste diese mit einem Referenzbild vergleiche können.

    Aber wenn es da schon was geben würde, was man nur mehr umstricken bräuchte wär es super.