7 votes

Comment puis-je traiter/lire les coches sur un formulaire papier ?

Je voudrais traiter un grand nombre de formulaires papier scannés (interface graphique ou ligne de commande). Je ne suis intéressé que par la lecture des cases à cocher (personnalisées). Le formulaire ressemble à ceci :

  • chaque ligne comporte 6 cases en forme de cercle (une est marquée)
  • Le formulaire a plus de 45 lignes

Après traitement, je voudrais avoir la valeur cochée (1 6) de chaque ligne. Je suppose que comme il n'y a pas d'Optique Caractère Reconnaissance impliquée (mais OMR ), cela devrait être un peu plus facile.

Y a-t-il un moyen de faire cela à partir de l'interface graphique ou de la ligne de commande ? Quelle serait la meilleure approche ?

MISE À JOUR : les scans sont fournis en PDF ou en JPEG (mon choix). Analyse de l'échantillon (380kb JPEG).

Voici une version anonymisée du formulaire :

paper form to be processed

4voto

CousinCocaine Points 9430

Si vous voulez éviter l'OCR, vous pouvez utiliser ImageMagick (un super outil de manipulation d'images en ligne). Mais vous devez être sûr que toutes les pages sont alignées exactement de la même manière. J'ai bricolé ce flux de travail, vous devez l'adapter à vos besoins et créer des boucles, mais il peut vous aider dans la bonne direction.

Assurez-vous que la position de chaque tour est la même sur chaque feuille.

Extraire chaque tour et le sauvegarder avec le row_circle-nr (comme 04_1.png, 04_2.png, etc.)

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

Calculer la surface du rouge en utilisant les histogrammes ( Je préfère le rouge, mais vous pouvez aussi le faire pour les noirs. )

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

Le plus grand REDVALUE gagne pour chaque ligne

Eh bien, c'est à peu près tout.

Comment installer imagemagick ?

L'utilisation et l'installation d'ImageMagick peuvent être intimidantes, mais ce paquet de manipulation d'images est le plus puissant que j'ai rencontré jusqu'à présent. Comme l'installation à partir des sources peut être un peu compliquée pour les utilisateurs natifs de OS X, je vous conseille d'utiliser Homebrew .

Pour installer ImageMagick en utilisant Homebrew exécutez cet oneliner dans votre terminal :

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

Homebrew est maintenant installé, il est sage de suivre les suggestions de l'installateur après l'installation. Maintenant nous installons ImageMagick en utilisant brew .

brew install imagemagick

Maintenant nous pouvons utiliser imagemagick et son convert comme dans les exemples ci-dessus.

1voto

maxpenguin Points 1488

Je suis un enthousiaste de l'open source et j'ai donc jeté un coup d'œil à ImageMagic pour voir s'il est open source, il l'est, mais le projet est basé aux États-Unis. Je veux voir si je peux vous aider avec une base de projet open source d'une université allemande appelée SDAPS.

SDAPS est spécifiquement un programme OMR.

http://sdaps.org/SDAPS

J'ai téléchargé votre page de test et je vais essayer de l'utiliser pour fournir une réponse à votre question en utilisant SDAPS.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X