Cómo corregir la orientación de la imagen para leer

por Chaknith Bin

Fijar la orientación de la imagen, en el contexto del procesamiento de imágenes, implica realizar ajustes en una imagen para garantizar que está correctamente alineada para fines específicos, como el reconocimiento de texto. IronOcr permite fijar la orientación de la imagen, incluida la rotación, la eliminación de la distorsión y el escalado.

Estas técnicas son esenciales para preparar las imágenes para un reconocimiento de texto preciso, ya que garantizan que el texto esté correctamente orientado, alineado y tenga el tamaño adecuado para su extracción.


Biblioteca NuGet C# para OCR

Instalar con NuGet

Install-Package IronOcr
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Ejemplo de rotación de imagen

Rotar una imagen implica cambiar su orientación en un ángulo determinado (por ejemplo, 90 grados en sentido horario o antihorario) para garantizar que el texto o el contenido de la imagen esté en posición vertical y correctamente alineado.

Pasa un valor de grado al método Rotate para realizar la rotación. Un valor de grado positivo girará la imagen en el sentido de las agujas del reloj, mientras que un valor de grado negativo lo hará en sentido contrario.

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-rotate-image.cs
using IronOcr;

//  Instanciar IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

//  Añadir imagen
using var imageInput = new OcrImageInput("paragraph_skewed.png");

//  Girar la imagen 180 grados en el sentido de las agujas del reloj
imageInput.Rotate(180);

//  Exportar la imagen modificada
imageInput.SaveAsImages("rotate");
Imports IronOcr

'  Instanciar IronTesseract
Private ocrTesseract As New IronTesseract()

'  Añadir imagen
Private imageInput = New OcrImageInput("paragraph_skewed.png")

'  Girar la imagen 180 grados en el sentido de las agujas del reloj
imageInput.Rotate(180)

'  Exportar la imagen modificada
imageInput.SaveAsImages("rotate")
VB   C#

Para mayor comodidad, puede exportar la imagen modificada utilizando el método SaveAsImages. A continuación se muestra una comparación de la imagen antes y después de la rotación.

Imagen de muestra
Imagen girada

Ejemplo de imagen torcida

El enderezamiento es el proceso de enderezar una imagen que puede estar ligeramente inclinada o torcida. Corrige cualquier inclinación o desalineación, garantizando que el texto o contenido aparezca alineado horizontalmente.

Para aplicar deskewing a la imagen, utilice el método Deskew. Este método acepta un valor entero que especifica el ángulo máximo de inclinación a corregir. Los valores más altos pueden proporcionar más oportunidades de corrección, pero pueden dar lugar a un procesamiento más lento y a un mayor riesgo de errores, incluidas las páginas al revés.

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-deskew-image.cs
//  Aplicar desbarbado
imageInput.Deskew();
'  Aplicar desbarbado
imageInput.Deskew()
VB   C#
Imagen de muestra
imagen distorsionada

Ejemplo de imagen a escala

El escalado consiste en cambiar el tamaño de una imagen a una dimensión o relación de aspecto específica. Esto puede ser útil para estandarizar el tamaño de las imágenes y conseguir un reconocimiento de texto más coherente.

Para aplicar escala a la imagen, utilice el método Scale. El método Scale toma un valor porcentual, siendo 100% sin efecto. El segundo parámetro es el ScaleCropArea, que determina si las áreas de cultivo asociadas también deben escalarse proporcionalmente (recomendado como "true).

:path=/static-assets/ocr/content-code-examples/how-to/image-orientation-correction-scale-image.cs
//  Aplicar escala
imageInput.Scale(70);
'  Aplicar escala
imageInput.Scale(70)
VB   C#

Comparación de tamaños

Comparación de tamaños
Comparación de tamaños

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.