
Vue d’ensemble
La reconnaissance de marques optiques (OMR) est un processus électronique qui facilite la lecture et la capture de données marquées par des personnes sur des formulaires documentaires spécialement conçus, tels que des tests ou des enquêtes, qui incluent des saisies à bulles ou carrées remplies par les utilisateurs. En utilisant l’extraction de données à partir d’images en Java, nous pouvons gérer efficacement les images numérisées de ces formulaires d’enquête, questionnaires ou feuilles de test, rendant possible la lecture des saisies des utilisateurs de manière programmatique. Cet article vous guidera sur la façon d’effectuer l’OMR et d’extraire des données à partir d’images en utilisant Java.
Les sujets suivants seront abordés dans cet article :
- API OMR Java pour extraire des données d’image
- Extraction de données à partir d’images en Java
- Effectuer l’OMR et extraire des données de plusieurs images
- Extraire des données OMR avec seuil
- Extraire des données OMR avec recalcul
API OMR Java pour extraire des données d’image
Pour effectuer des opérations OMR et l’extraction de données à partir d’images en Java, nous utiliserons l’API Aspose.OMR pour Java. Cet outil puissant permet la conception, la création et la reconnaissance de feuilles de réponses, tests, papiers de QCM, quiz, formulaires de retour, enquêtes et bulletins.
La classe OmrEngine au sein de l’API est responsable de la création de modèles et du traitement d’images. Sa méthode getTemplateProcessor(String templatePath) initialise une instance TemplateProcessor adaptée à la gestion de modèles et d’images. Pour reconnaître une image, la méthode recognizeImage(String imagePath) peut être utilisée, qui renvoie tous les éléments OMR sous forme d’une instance de la classe RecognitionResult. À l’aide de la méthode getCsv(), vous pouvez générer une chaîne CSV contenant les résultats de la reconnaissance. De plus, la méthode recalculate(RecognitionResult result, int recognitionThreshold) affine les résultats de reconnaissance avec des paramètres personnalisés.
Veuillez soit télécharger le JAR de l’API, soit ajouter la configuration pom.xml suivante dans une application Java basée sur Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-omr</artifactId>
<version>19.12</version>
</dependency>
Extraction de données à partir d’images en Java
Pour effectuer une opération OMR, nous avons besoin du fichier modèle OMR préparé (.omr) et de l’image des formulaires ou feuilles remplis par l’utilisateur. Le processus d’extraction de données à partir d’images en Java, en utilisant spécifiquement les opérations OMR, implique les étapes suivantes :
- Tout d’abord, créez une instance de la classe OmrEngine.
- Ensuite, appelez la méthode getTemplateProcessor() et initialisez un objet de classe TemplateProcessor, en passant le chemin du fichier modèle OMR comme argument.
- Ensuite, obtenez l’objet RecognitionResult en appelant la méthode recognizeImage() avec le chemin de l’image comme argument.
- Après cela, obtenez les résultats de reconnaissance sous forme de chaînes CSV en utilisant la méthode getCsv().
- Enfin, enregistrez le résultat CSV en tant que fichier CSV sur le disque local.
Le code suivant illustre comment effectuer l’extraction de données à partir d’images en Java en convertissant les données OMR au format CSV.

Effectuer l’OMR et extraire des données d’une image en Java.
Veuillez télécharger le modèle OMR utilisé dans cet article de blog.
Effectuer l’OMR et extraire des données de plusieurs images
Nous pouvons effectuer des opérations OMR sur plusieurs images et extraire des données dans un fichier CSV séparé pour chacune, en utilisant les étapes décrites précédemment. Pour réaliser l’extraction de données à partir d’images en Java, il est nécessaire de répéter les étapes 3, 4 et 5 pour toutes les images individuellement.
Voici un exemple de code démontrant comment extraire des données OMR de plusieurs images en utilisant Java.
. Les données de la liste, qu’elles soient à puces ou numérotées, doivent rester complètement inchangées.
Extraire des données OMR avec seuil en Java
Pour effectuer des opérations de reconnaissance de marques optiques (OMR) en Java, nous utilisons une valeur seuil comprise entre 0 et 100 basée sur des exigences spécifiques. Cette valeur seuil, utilisée dans l’extraction de données à partir d’images en Java, dicte à quel point l’API sera stricte dans la mise en évidence des réponses ; une valeur plus élevée augmente la rigueur. Il est essentiel de suivre les étapes mentionnées précédemment pour le traitement OMR avec le seuil choisi. Plus précisément, dans l’étape #3, la méthode recognizeImage(string, int32) doit être appelée. Cette méthode surchargée nécessite le chemin du fichier image et la valeur seuil souhaitée comme paramètres.
L’exemple de code suivant montre comment effectuer l’OMR avec une valeur seuil en utilisant Java :
Extraire des données OMR avec recalcul en Java
Lorsqu’il s’agit d’une extraction de données précise à partir d’images en Java, en particulier en ce qui concerne l’OMR, il peut être nécessaire de recalculer les résultats en utilisant différentes valeurs seuils. En configurant l’API, le recalcul peut être automatisé via la méthode TemplateProcessor.recalculate(). Cette approche permet des itérations de traitement d’images multiples en ajustant le seuil jusqu’à ce que le résultat souhaité soit atteint. Pour réussir l’opération OMR avec recalcul, suivez les étapes ci-dessous :
- Tout d’abord, créez une instance de la classe OmrEngine.
- Ensuite, appelez la méthode getTemplateProcessor() et initialisez un objet de classe TemplateProcessor. Cela prend le chemin du fichier modèle OMR comme argument.
- Ensuite, obtenez l’objet RecognitionResult en appelant la méthode recognizeImage() avec le chemin de l’image comme argument.
- Ensuite, exportez les résultats de reconnaissance sous forme de chaîne CSV en utilisant la méthode getCsv().
- Ensuite, enregistrez le résultat CSV en tant que fichier CSV sur le disque local.
- Ensuite, appelez la méthode recalculate(). Elle prend l’objet RecognitionResult et la valeur seuil comme arguments.
- Après cela, exportez les résultats de reconnaissance sous forme de chaîne CSV en utilisant la méthode getCsv().
- Enfin, enregistrez le résultat CSV en tant que fichier CSV sur le disque local.
L’exemple de code suivant montre comment effectuer l’OMR avec la méthode de recalcul en utilisant Java :
.
Obtenir une licence gratuite
Vous avez la possibilité de obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitations d’évaluation. C’est un excellent moyen d’explorer des fonctionnalités telles que l’extraction de données à partir d’images en Java, vous permettant d’évaluer pleinement ses capacités. Les données de la liste ci-dessous restent inchangées pour votre référence :
- La bibliothèque fonctionne efficacement avec de grands volumes de données.
- L’intégration avec les systèmes existants est fluide.
- Les données extraites sont très précises et fiables.
- Les étapes d’installation sont simples et bien documentées.
Conclusion
Dans cet article, nous avons appris à :
- effectuer une opération OMR sur des images ;
- extraire des données au format CSV de manière programmatique ;
- appliquer un réglage de seuil lors de l’OMR sur des images ;
- recalculer les résultats OMR dans un processus automatique en utilisant Java.
De plus, lorsqu’il s’agit d’extraction de données à partir d’images en Java, vous pouvez explorer davantage l’API Aspose.OMR pour Java en consultant la documentation. Si vous rencontrez des problèmes, n’hésitez pas à nous contacter sur notre forum de support gratuit.