¿Cómo reconocer caracteres ópticos en imágenes en Python?

Requisito previo: Pytesseract , OpenCV

En este artículo, vamos a reconocer el carácter de las imágenes y obtener datos de texto de una imagen. Hagamos una introducción rápida al módulo requerido.

  • OpenCV: Es un módulo de Python en el que podemos hacer procesamiento de imágenes, captura de video y algunas herramientas de análisis como detección de rostros o detección de objetos. Tiene interfaces C++, Python, Java y MATLAB y es compatible con Windows, Linux, Android y Mac OS.
  • Pytesseract: Python-tesseract es una herramienta de reconocimiento óptico de caracteres (OCR) para Python. Es decir, reconocerá y “leerá” el texto incrustado en las imágenes. Python-tesseract es un contenedor para el motor Tesseract-OCR de Google. También es útil como script de invocación independiente para tesseract, ya que puede leer todos los tipos de imágenes compatibles con las bibliotecas de imágenes de Pillow y Leptonica, incluidos jpeg, png, gif, BMP, tiff y otros. Además, si se usa como script, Python-tesseract imprimirá el texto reconocido en lugar de escribirlo en un archivo.

Acercarse:

  • Importar módulo requerido
  • Establecer la ruta de pytesseract.
  • Lee la imagen con cv2.imread()
  • Convierte la imagen en formato RGB.
  • Extrae texto de la imagen usando pytesseract.image_to_string(img).

Vamos a usar esta imagen para una demostración:

A continuación se muestra la implementación completa: 

Python3

# importing the libraries
import cv2
import pytesseract
  
# seting the path of pytesseract exe
# you have to write the location of
# on which your tesseract was installed
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'
  
# Now we will read the image in our program
# you have to put your image path in place of photo.jpg
img = cv2.imread('photo.jpg')
  
# Our image will read as BGR format,
# So we will convert in RGB format because 
# tesseract can only read in RGB format
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
  
# For getting the text and number from image
print(pytesseract.image_to_string(img))
  
# For displaying the original image
cv2.imshow("result", img)
cv2.waitKey(0)

Producción:

GeeksforGeeks

Publicación traducida automáticamente

Artículo escrito por cavin2004 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *