fork download
  1. import tkinter as tk,
  2. from tkinter import filedialog,
  3. messagebox
  4. from PIL import image
  5. import pytesseract
  6. import pyttsx3
  7. #initialize TTS engine
  8. engine=pyttsx3.init()
  9. def extract_text_from_image(image_path):
  10. try:
  11. image=image.open(image_path)
  12. text=pytesseract.image_to_string(image)
  13. return text
  14. except Exception as e:
  15. return str(e)
  16. def speak_text(text):
  17. engine.say(text)
  18. engine.runAndWait()
  19. def open_image():
  20. file_path=filedialog.askopenfilename(filetypes=[("image files","*.jpg*.jpeg*.png*.bmp*.tiff")])
  21. if file_path:
  22. extected_text=extract_text_from_image(file_path)
  23. text_box.delete("1.0",tk.END)
  24. text_box.insert(tk.END,extracted_text)
  25. speak_text(extracted_text)
  26. #GUI Setup
  27. app=tk.TK()
  28. app.title("image to Speech Converter")
  29. app.geometry("500*400")
  30. btn=tk.Button(app,text="Select image",command=open_image,
  31. font=("Arial",14)
  32. btn.pack(pady=20)
  33. text_box=tk.Text(app,wrap=tk.WORD,font=(Arial",12))
  34. text_box.pack(expand=True,fill=tk.BOTH,padx=10,pady=10)
  35. app.mainloop()
  36.  
Success #stdin #stdout 0.03s 25828KB
stdin
Standard input is empty
stdout
import tkinter as tk, 
from tkinter import filedialog,
messagebox
from PIL import image
import pytesseract
import pyttsx3
#initialize TTS engine
engine=pyttsx3.init()
def extract_text_from_image(image_path):
    try:
        image=image.open(image_path)
        text=pytesseract.image_to_string(image)
        return text
    except Exception as e:
        return str(e)
    def speak_text(text):
        engine.say(text)
        engine.runAndWait()
        def open_image():
            file_path=filedialog.askopenfilename(filetypes=[("image files","*.jpg*.jpeg*.png*.bmp*.tiff")])
            if file_path:
                extected_text=extract_text_from_image(file_path)
                text_box.delete("1.0",tk.END)
                text_box.insert(tk.END,extracted_text)
                speak_text(extracted_text)
                #GUI Setup
                app=tk.TK()
                app.title("image to Speech Converter")
                app.geometry("500*400")
                btn=tk.Button(app,text="Select image",command=open_image,
                              font=("Arial",14)
                              btn.pack(pady=20)
                              text_box=tk.Text(app,wrap=tk.WORD,font=(Arial",12))
                                                                      text_box.pack(expand=True,fill=tk.BOTH,padx=10,pady=10)
                                                                      app.mainloop()