Wie kann ich Häkchen auf einem Papierformular verarbeiten/lesen?

Ich möchte eine große Anzahl gescannter Papierformulare verarbeiten (GUI oder Kommandozeile). Ich bin nur daran interessiert, (benutzerdefinierte) Kontrollkästchen zu lesen. Das Formular sieht so aus:

  • jede Zeile hat 6 kreisförmige Kästchen (eines ist markiert)
  • Formular hat mehr als 45 Zeilen

Nach der Verarbeitung möchte ich den überprüften Wert (1 … 6) jeder Zeile haben. Ich nehme an, da es keine optische Zeichenerkennung gibt (aber OMR ), sollte dies etwas einfacher sein.

Gibt es eine Möglichkeit, dies über die GUI oder die Befehlszeile zu tun? Was wäre der beste Ansatz?

AKTUALISIERT : Scans kommen in PDF oder JPEG (meine Wahl). Beispielscan (380 KB JPEG).

Hier ist eine anonymisierte Version des Formulars:

Papierform zu verarbeiten

Haben Sie derzeit überhaupt eine Lösung für dieses Problem (außer der visuellen Überprüfung)?
Nein, ich habe gerade keine Lösung.
Die Beschränkung auf die Befehlszeile könnte also Lösungen verhindern, die über eine GUI verfügen und dennoch aus der Anwendung heraus automatisiert werden können. Möchten Sie den Anwendungsbereich ein wenig erweitern, um nach einer Anwendung zu suchen, die das Problem löst?
@patrix Fertig!!!
Welches Format haben die gescannten Dokumente?
Können Sie auch ein (anonymisiertes) Musterdokument zur Verfügung stellen? Es kann einfacher sein, bestimmte Dinge mit verfügbarer Software auszuprobieren.
Können Sie ein ausgefülltes Dokument anstelle eines leeren bereitstellen? (...und wenn Sie das Format wählen können, verwenden Sie ein verlustfreies Format wie png und nicht so etwas wie jpg)
Ich schlage ernsthaft vor, sich sdaps.org/SDAPS anzusehen , wie von @Deesbek vorgeschlagen

Antworten (2)

Wenn Sie OCR vermeiden möchten, können Sie ImageMagick (ein CLI-Super-Toolset zur Bildbearbeitung) verwenden. Aber Sie müssen sicher sein, dass alle Seiten genau gleich ausgerichtet sind. Ich habe diesen Workflow gehackt, Sie müssen ihn für Ihre Bedürfnisse ändern und einige Schleifen erstellen, aber er kann Ihnen in die richtige Richtung helfen.

Stellen Sie sicher, dass die Position jeder Runde auf jedem Blatt gleich ist

Extrahieren Sie jede Runde und speichern Sie sie mit der row_circle-nr (wie 04_1.png, 04_2.png usw.)

x=$position_of_circle_on_x
y=$position_of_circle_on_y
w=$width_of_circle_area
h=$hight_of_circle_area
input=$input_image
output=$output_row_cirleNr
convert +repage $input -crop $wx$h+$x+$y $output

Berechnen Sie die Fläche von Rot mithilfe von Histogrammen ( ich bevorzuge Rot, aber Sie können dies auch für Schwarz tun )

RGBO=$( convert $FILE -colorspace HSL -verbose info: | grep mean | awk '{print $2}' )
REDVALUE=$( echo $RGBO | awk '{print $1}'  | cut -d. -f1 )

Die größten REDVALUEGewinne für jede Reihe

Nun, darum geht es.

Wie installiere ich imagemagick?

Die Verwendung und Installation von ImageMagick kann einschüchternd sein, aber dieses Bildbearbeitungspaket ist das leistungsstärkste, das mir bisher begegnet ist. Da die Installation aus dem Quellcode für native OS X-Benutzer ein Problem sein kann, empfehle ich Ihnen, Homebrew zu verwenden .

Um ImageMagick mit Homebrew zu installieren , führen Sie diesen Oneliner in Ihrem Terminal aus:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Homebrew ist jetzt installiert, es ist ratsam, nach der Installation den Vorschlägen des Installationsprogramms zu folgen. Jetzt installieren wir ImageMagick mit brew.

brew install imagemagick

Jetzt können wir imagemagick und sein convertTool wie in den obigen Beispielen verwenden.

Ich bin ein Open-Source-Enthusiast, also habe ich mir ImageMagic angesehen, um zu sehen, ob es Open Source ist, aber das Projekt hat seinen Sitz in den USA. Ich möchte sehen, ob ich Ihnen mit einer deutschen Universitäts-Open-Source-Projektbasis namens SDAPS helfen kann.

SDAPS ist speziell ein OMR-Programm.

http://sdaps.org/SDAPS

Ich habe Ihre Testseite heruntergeladen und werde versuchen, sie zu verwenden, um Ihre Frage mit SDAPS zu beantworten.

Dieses Projekt sieht vielversprechend aus, ich freue mich auf Ihre Antwort ...
Glauben Sie nicht, dass ich meine Antwort beenden werde, bevor das Kopfgeld abläuft, aber los geht's, die Arbeit steht an erster Stelle.
Ja, das ist ein Mist. Aber diese Software könnte einen besseren Job machen als mein Hack.