Image en texte Java

Qu’il s’agisse de reconnaître du texte à partir de documents numérisés ou d’extraire des données à partir d’images, la possibilité de convertir des images en texte a ouvert de nouvelles possibilités. Dans cet article de blog, nous apprendrons à convertir une image en texte en Java, en explorant l’utilisation de la reconnaissance optique de caractères (OCR) pour reconnaître et extraire du texte à partir d’images.

Qu’est-ce que l’OCR ?

La reconnaissance optique de caractères (OCR) est une technologie qui convertit différents types de documents, tels que des documents papier numérisés, des PDF ou des images, en données modifiables et consultables. Dans notre cas, nous nous concentrerons sur l’utilisation de l’OCR pour reconnaître le texte des images en Java.

Pourquoi la conversion d’image en texte ?

La conversion d’images en texte peut rationaliser les processus de saisie de données, permettre des recherches textuelles dans les images et faciliter l’intégration de données d’image dans diverses applications. Qu’il s’agisse de documents numérisés, de photographies ou de captures d’écran, la possibilité de lire du texte à partir d’images peut changer la donne.

Convertir une image en texte avec OCR en Java

Vous devez suivre les étapes ci-dessous pour convertir une image en texte avec OCR en Java :

  • Installez Conholdate.Total pour Java sur votre système.
  • Créez une instance de l’API OCR avec la classe AsposeOCR.
  • Spécifiez les paramètres avec la classe RecognitionSettings.
  • Définissez les filtres de traitement à l’aide de l’objet de classe PreprocessingFilter.
  • Préparez l’image avec l’instance de classe OcrInput.
  • Reconnaissez les images avec la méthode Recognize.

L’extrait de code ci-dessous montre comment convertir une image en texte en Java :

// Créer une instance de l'API OCR
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();

// Spécifier les paramètres de reconnaissance
com.aspose.ocr.RecognitionSettings settings = new com.aspose.ocr.RecognitionSettings();
settings.setDetectAreasMode(com.aspose.ocr.DetectAreasMode.PHOTO);
settings.setUpscaleSmallFont(true);

// Définir les filtres de traitement
com.aspose.ocr.PreprocessingFilter filters = new com.aspose.ocr.PreprocessingFilter();
filters.add(com.aspose.ocr.PreprocessingFilter.AutoDenoising());

// Préparer l'image
com.aspose.ocr.OcrInput images = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage, filters);
images.add("source.png");

// Reconnaître les images
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(images, settings);
results.forEach((result) ->{
	System.out.println(result.recognitionText);
});

Convertir une image en texte en traitant une région spécifique à l’aide de Java

Dans certains cas, vous devez reconnaître le texte d’une zone spécifique de l’image. Par conséquent, vous pouvez définir une ou plusieurs coordonnées rectangulaires pour reconnaître le texte à l’aide de l’OCR en Java. Les étapes ci-dessous expliquent le processus de conversion d’une image JPG ou PNG en texte à l’aide de Java :

  • Configurez Conholdate.Total for Java de votre côté.
  • Préparez la liste des rectangles contenant des textes à l’aide de la classe ArrayList.
  • Préparez l’image d’entrée avec la classe OcrInput.
  • Créez une instance d’API avec la classe AsposeOCR.
  • Reconnaissez le texte et obtenez le résultat avec la classe RecognitionResult.

L’exemple de code suivant explique comment convertir une image en texte tout en reconnaissant des régions spécifiques à l’aide de Java :

// préparer des rectangles avec des textes
ArrayList rectArray = new ArrayList();
rectArray.add(new java.awt.Rectangle(138, 352, 2033, 537));
rectArray.add(new java.awt.Rectangle(147, 890, 2033, 1157));

// Définir les paramètres de reconnaissance
com.aspose.ocr.RecognitionSettings recognitionSettings = new com.aspose.ocr.RecognitionSettings();
recognitionSettings.setRecognitionAreas(rectArray);

// Préparer l'image
com.aspose.ocr.OcrInput oi = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage);
oi.add("source.png");

// créer une instance d'API
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();

// Reconnaître les images
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(oi, recognitionSettings);
results.forEach((result) ->{
	System.out.println(result.recognitionText);
});

Licence d’évaluation gratuite

Vous pouvez obtenir une licence temporaire gratuite pour convertir des images en texte avec OCR à l’aide de Java sans aucune restriction d’évaluation.

Emballer

Dans cet article de blog, nous avons exploré la conversion d’images en texte en Java à l’aide de l’OCR. Vous pouvez intégrer de manière transparente la conversion d’image en texte dans vos applications. Que vous travailliez avec JPG, PNG ou d’autres formats d’image, la possibilité de lire le texte des images ouvre un monde de possibilités pour le traitement et l’analyse des données. Cependant, si vous souhaitez adapter le code à vos besoins ou discuter de vos questions, n’hésitez pas à nous écrire sur le forum.

Voir également