Nuestro objetivo es convertir una imagen de texto dada en una string de texto, guardarla en un archivo y escuchar lo que está escrito en la imagen a través del audio.
Para esto, necesitamos importar algunas Bibliotecas
- Pytesseract (Python-tesseract): es una herramienta de reconocimiento óptico de caracteres (OCR) para Python patrocinada por Google.
- pyttsx3: es una biblioteca de texto a voz multiplataforma fuera de línea
- Biblioteca de imágenes de Python (PIL): agrega capacidades de procesamiento de imágenes a su intérprete de Python
- Googletrans: es una biblioteca gratuita de python que implementa la API de Google Translate.
Ejemplos:
Input : We Have an image with some text Output: THE TEXT FROM THE IMAGE IS EXTRACTED AND A VOICE WILL SPEAK THE TEXT This is the first line of this text example. This is the second line of the same text. Translated(src=en, dest=de, text=Dies ist die erste Zeile von Dieses Textbeispiel. Dies ist die zweite Zeile desselben Textes., pronunciation=None, extra_data="{'translat..."
Código: código de Python para convertir texto a voz
# import the following libraries # will convert the image to text string import pytesseract # adds image processing capabilities from PIL import Image # converts the text to speech import pyttsx3 #translates into the mentioned language from googletrans import Translator # opening an image from the source path img = Image.open('text1.png') # describes image format in the output print(img) # path where the tesseract module is installed pytesseract.pytesseract.tesseract_cmd ='C:/Program Files (x86)/Tesseract-OCR/tesseract.exe' # converts the image to result and saves it into result variable result = pytesseract.image_to_string(img) # write text in a text file and save it to source path with open('abc.txt',mode ='w') as file: file.write(result) print(result) p = Translator() # translates the text into german language k = p.translate(result,dest='german') print(k) engine = pyttsx3.init() # an audio will be played which speaks the test if pyttsx3 recognizes it engine.say(k) engine.runAndWait()
NOTA: Podemos convertir el texto a cualquier idioma deseado. Por ejemplo japonés, ruso, hindi. Pero la única condición es que googletrans reconozca el idioma de destino. Además, pyttsx3 solo hablará los idiomas que reconoce.
Publicación traducida automáticamente
Artículo escrito por KaranGupta5 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA