Puede convertir un texto de la imagen a un formato editable con el reconocimiento óptico de caracteres (OCR). Imágenes como JPG, PNG, TIFF, BMP, GIF, etc. se utilizan en todas partes en Internet y es posible que deba reconocer texto de una imagen en línea. Puede usar fácilmente el enlace URL a esa imagen para realizar el OCR en ella, en lugar de guardar o descargar el archivo. Los siguientes encabezados discuten los detalles más a fondo:
- API de Java OCR: instalación
- Reconocer texto realizando OCR en imagen desde URL con Java
- Reconocer texto de imagen sesgada o inclinada con OCR usando Java
API de Java OCR: instalación
Aspose.OCR for Java La API se puede utilizar para realizar operaciones de reconocimiento óptico de caracteres en imágenes. Puede reconocer texto y convertir la imagen en texto editable. Descargue el archivo JAR de la API desde la sección Descargas o especifique las siguientes configuraciones de Maven en el archivo pom.xml de su proyecto:
Repositorio:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
Dependencia:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-ocr</artifactId>
<version>20.5</version>
</dependency>
Reconocer texto realizando OCR en imagen desde URL con Java
Puede realizar el reconocimiento óptico de caracteres en una imagen desde la URL con los siguientes pasos:
- Cree una instancia de API con la clase AsposeOCR.
- Especifique el URI de la imagen.
- Configure las opciones de reconocimiento con la clase RecognitionSettings.
- Obtener objeto de resultado.
- Imprimir resultado.
El siguiente código explica cómo reconocer texto al realizar OCR en la imagen desde la URL mediante programación usando Java:
//Crear instancia de API
AsposeOCR api = new AsposeOCR();
// Especificar URI de imagen
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// Establecer opciones de reconocimiento
RecognitionSettings settings = new RecognitionSettings();
settings.setAutoSkew(false);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);
// Obtener objeto de resultado
RecognitionResult result = null;
try {
result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
e.printStackTrace();
}
// Imprimir resultado
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
System.out.println(text);
}
Reconocer texto de imagen sesgada o inclinada con OCR usando Java
A veces, una imagen puede estar inclinada o sesgada por alguna razón. Por ejemplo, una imagen creada por una cámara o un escáner puede estar un poco sesgada, entonces puede obtener el ángulo sesgado de la imagen de entrada. Puede mejorar la precisión del reconocimiento de texto conociendo y corrigiendo el ángulo de inclinación. Necesitas seguir los siguientes pasos:
- Cree una instancia de API usando el objeto AsposeOCR.
- Establecer opciones de reconocimiento.
- Calcular y establecer el ángulo de inclinación.
- Obtenga el resultado con el objeto RecognitionResult e imprímalo.
El siguiente código muestra cómo reconocer texto de una imagen sesgada con OCR mediante programación en Java:
//Crear instancia de 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);
// lee la url
image = ImageIO.read(url);
}catch(IOException e){
e.printStackTrace();
}
// establecer opciones de reconocimiento
RecognitionSettings settings = new RecognitionSettings();
double angle = 0;
// Obtener ángulo de inclinación
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);
// obtener objeto de resultado
RecognitionResult result = null;
try {
result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
e.printStackTrace();
}
// resultado de impresión
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
System.out.println(text);
}
Obtenga una licencia de API gratuita
Puede solicitar una Licencia temporal gratuita para evaluar la API en toda su capacidad.
Conclusión
En conclusión, ha aprendido a reconocer texto realizando operaciones de OCR en una imagen desde cualquier dirección URL. Además, ha explorado cómo corregir el ángulo de inclinación de la imagen para mejorar la precisión y la eficiencia de la API. Puede echar un vistazo a otras características de la API visitando la Documentación, o no dude en contactarnos a través del Foro de soporte gratuito en caso de cualquier consulta.