Imagen a texto Java

Ya sea reconociendo texto de documentos escaneados o extrayendo datos de imágenes, la capacidad de convertir imágenes en texto ha abierto nuevas posibilidades. En esta publicación de blog, aprenderemos a convertir una imagen en texto en Java, explorando el uso del reconocimiento óptico de caracteres (OCR) para reconocer y extraer texto de imágenes.

¿Qué es el OCR?

El reconocimiento óptico de caracteres (OCR) es una tecnología que convierte diferentes tipos de documentos, como documentos en papel escaneados, archivos PDF o imágenes, en datos editables y con capacidad de búsqueda. En nuestro caso, nos centraremos en usar OCR para reconocer texto de imágenes en Java.

¿Por qué convertir imagen a texto?

La conversión de imágenes a texto puede agilizar los procesos de entrada de datos, permitir búsquedas basadas en texto en imágenes y facilitar la integración de datos de imágenes en diversas aplicaciones. Ya sea que se trate de documentos escaneados, fotografías o capturas de pantalla, la capacidad de leer texto de imágenes puede cambiar las reglas del juego.

Convertir imagen a texto con OCR en Java

Debe seguir los pasos a continuación para convertir una imagen en texto con OCR en Java:

  • Instale Conholdate.Total para Java en su sistema.
  • Cree una instancia de API de OCR con la clase AsposeOCR.
  • Especifique la configuración con la clase RecognitionSettings.
  • Establezca filtros de procesamiento utilizando el objeto de clase PreprocessingFilter.
  • Prepare la imagen con la instancia de la clase OcrInput.
  • Reconocer imágenes con el método Recognize.

El siguiente fragmento de código muestra cómo convertir una imagen en texto en Java:

// Crear instancia de API de OCR
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();

// Especificar la configuración de reconocimiento
com.aspose.ocr.RecognitionSettings settings = new com.aspose.ocr.RecognitionSettings();
settings.setDetectAreasMode(com.aspose.ocr.DetectAreasMode.PHOTO);
settings.setUpscaleSmallFont(true);

// Establecer filtros de procesamiento
com.aspose.ocr.PreprocessingFilter filters = new com.aspose.ocr.PreprocessingFilter();
filters.add(com.aspose.ocr.PreprocessingFilter.AutoDenoising());

// Preparar imagen
com.aspose.ocr.OcrInput images = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage, filters);
images.add("source.png");

// Reconocer imágenes
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(images, settings);
results.forEach((result) ->{
	System.out.println(result.recognitionText);
});

Convierta una imagen en texto procesando una región específica usando Java

En determinados casos, es necesario reconocer texto de una región específica de la imagen. En consecuencia, puede establecer una o varias coordenadas rectangulares para reconocer texto utilizando el OCR en Java. Los pasos a continuación detallan el proceso para convertir imágenes JPG o PNG en texto usando Java:

  • Configure Conholdate.Total para Java por su parte.
  • Prepare la lista de rectángulos que contienen textos usando la clase ArrayList.
  • Prepare la imagen de entrada con la clase OcrInput.
  • Cree una instancia de API con la clase AsposeOCR.
  • Reconocer texto y obtener el resultado con la clase RecognitionResult.

El siguiente código de muestra explica cómo convertir una imagen en texto mientras se reconocen regiones específicas usando Java:

// preparar rectángulos con textos
ArrayList rectArray = new ArrayList();
rectArray.add(new java.awt.Rectangle(138, 352, 2033, 537));
rectArray.add(new java.awt.Rectangle(147, 890, 2033, 1157));

// Establecer ajustes para el reconocimiento
com.aspose.ocr.RecognitionSettings recognitionSettings = new com.aspose.ocr.RecognitionSettings();
recognitionSettings.setRecognitionAreas(rectArray);

// Preparar imagen
com.aspose.ocr.OcrInput oi = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage);
oi.add("source.png");

// crear instancia de API
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();

// Reconocer imágenes
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(oi, recognitionSettings);
results.forEach((result) ->{
	System.out.println(result.recognitionText);
});

Licencia de evaluación gratuita

Puede obtener una licencia temporal gratuita para convertir imágenes en texto con OCR usando Java sin restricciones de evaluación.

Terminando

En esta publicación de blog, exploramos la conversión de imágenes a texto en Java usando OCR. Puede integrar perfectamente la conversión de imagen a texto en sus aplicaciones. Ya sea que esté trabajando con JPG, PNG u otros formatos de imagen, la capacidad de leer texto de imágenes abre un mundo de posibilidades para el procesamiento y análisis de datos. Sin embargo, si desea personalizar el código para satisfacer sus requisitos o discutir sus preguntas, no dude en escribirnos al foro.

Ver también