Reconnaître-Texte-OCR-Image-en utilisant-Java

Vous pouvez convertir un texte de l’image en un format modifiable avec la reconnaissance optique de caractères (OCR). Des images telles que JPG, PNG, TIFF, BMP, GIF, etc. sont utilisées partout sur Internet et vous devrez peut-être reconnaître le texte d’une image en ligne. Vous pouvez facilement utiliser le lien URL vers cette image pour effectuer l’OCR dessus, au lieu d’enregistrer ou de télécharger le fichier. Les rubriques suivantes expliquent les détails plus en détail :

API Java OCR – Installation

L’API Aspose.OCR for Java peut être utilisée pour effectuer des opérations de reconnaissance optique de caractères sur des images. Il peut reconnaître du texte et convertir l’image en texte modifiable. Veuillez télécharger le fichier JAR de l’API à partir de la section Téléchargements ou spécifiez les configurations Maven suivantes dans le fichier pom.xml de votre projet :

Repository:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Dependency:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-ocr</artifactId>
    <version>20.5</version>
</dependency>

Reconnaître le texte en exécutant l’OCR sur l’image à partir de l’URL avec Java

Vous pouvez effectuer la reconnaissance optique de caractères sur une image à partir d’une URL en procédant comme suit :

  1. Créez une instance d’API avec la classe AsposeOCR.
  2. Spécifiez l’URI de l’image.
  3. Définissez les options de reconnaissance avec la classe RecognitionSettings.
  4. Obtenir l’objet de résultat.
  5. Résultat de l’impression.

Le code suivant explique comment reconnaître du texte en effectuant une OCR sur une image à partir d’une URL par programmation à l’aide de Java :

//Créer une instance d'API
AsposeOCR api = new AsposeOCR();

// Spécifiez l'URI de l'image
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";

// Définir les options de reconnaissance
RecognitionSettings settings = new RecognitionSettings();
settings.setAutoSkew(false);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);


// Obtenir l'objet de résultat
RecognitionResult result = null;
try {
	result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
	e.printStackTrace();
}

// Résultat d'impression
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
	System.out.println(text);
}

Reconnaître le texte d’une image inclinée ou inclinée avec OCR à l’aide de Java

Parfois, une image peut être inclinée ou inclinée pour une raison quelconque. Par exemple, une image créée par un appareil photo ou un scanner peut être légèrement asymétrique, vous pouvez alors obtenir l’angle d’inclinaison de l’image d’entrée. Vous pouvez améliorer la précision de la reconnaissance de texte en connaissant et en corrigeant l’angle d’inclinaison. Vous devez suivre les étapes suivantes :

  • Créez une instance d’API à l’aide de l’objet AsposeOCR.
  • Définissez les options de reconnaissance.
  • Calculer et définir l’angle d’inclinaison.
  • Obtenez le résultat avec l’objet RecognitionResult et imprimez-le.

Le code ci-dessous montre comment reconnaître le texte d’une image asymétrique avec OCR par programmation en Java :

//Créer une instance d'API
AsposeOCR api = new AsposeOCR();

String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";

BufferedImage image = null;
try{
java.net.URL url =new java.net.URL(uri);

// lire l'url
image = ImageIO.read(url);
}catch(IOException e){
            e.printStackTrace();
        }
// définir les options de reconnaissance
RecognitionSettings settings = new RecognitionSettings();
double angle = 0;

// Obtenir l'angle d'inclinaison
try {
	angle = api.CalcSkewImage(image);
	System.out.println("Skew text is:" + angle + " degrees.");
} catch (IOException e1) {
	e1.printStackTrace();
}
settings.setSkew(angle);

ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);

// obtenir l'objet de résultat
RecognitionResult result = null;
try {
	result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
	e.printStackTrace();
}

// résultat d'impression
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
	System.out.println(text);
}

Obtenez une licence API gratuite

Vous pouvez demander une Licence temporaire gratuite pour évaluer l’API dans toute sa capacité.

Conclusion

En conclusion, vous avez appris à reconnaître du texte en effectuant des opérations OCR sur une image à partir de n’importe quelle adresse URL. De plus, vous avez exploré comment corriger l’angle d’inclinaison de l’image pour améliorer la précision et l’efficacité de l’API. Vous pouvez jeter un œil à plusieurs autres fonctionnalités de l’API en visitant la Documentation, ou n’hésitez pas à nous contacter via Free Support Forum en cas de questions.

Voir également