Как написать правильно функцию: что бы текст помещает в файл "image_text.txt"
Как написать правильно функцию: если пользователь произнесет эту команду «Write File», то программа считывает текст с изображения и весь текст помещает в файл "image_text.txt";
Мне кажется, я что то не то сделал, поправьте меня пжл.
import pyttsx3
import speech_recognition as sr
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract'
from PIL import Image
from pytesseract import image_to_string
engine = pyttsx3.init()
def sayToMe(talk):
engine.say(talk)
engine.runAndWait()
sayToMe('Hello!')
result = ''
while result != 'exit':
sayToMe('Com mand, please !')
record = sr.Recognizer()
try:
with sr.Microphone(device_index=0) as source:
print('Speak English, please! ...')
audio = record. listen(source)
result = record.recognize_google(audio, language="en—En")
result = result.lower()
print(result)
if result == 'write file':
text = image_to_string(Image.open('images/photo.png'))
print(text)
file = open('date/image_text.txt', 'w')
file.write('text')
file.close()
elif result == 'read file':
text = image_to_string(Image.open('image_text.txt'))
print(text)
except sr.UnknownValueError:
print("Your speech is not recognized")
except sr.RequestError:
print("Something went wrong")
Ответы (2 шт):
Вероятно ошибка в том, что ты сравниваешь ответ звукового движка со словами с большими буквами, то есть приведи ответы к нижнему регистру, не исспользуй пунктуацию (тк распознаване речи её не исспользует), установи язык ввода в распознавателе речи
Возможно, что если предоставите больше информации, то помощь придет скорее, вы могли бы поделиться списком библиотек, которые вы используете в вашем requirements.txt (или pyproject.toml), а также предоставить видео экрана с демонстрацией того, что у вас получается сейчас.
И просто предположение, возможно, что сервис Google Cloud API могли бы облегчить вам решение данной задачи:
https://cloud.google.com/speech-to-text - голос в текст
https://cloud.google.com/vision/docs/ocr - надписи на изображениях в текст