Не найдена ошибка в Pytesser3

import pytesser3
import Image
a = Image.open("C:\\Users\\dell\\Desktop\\test.png") 
b = pytesser3.image_to_string(a)
print(b)

Я пытался сделать простую программу OCR, но всякий раз, когда я запускаю ее, я получаю следующую ошибку. Я даже удалил pytesser3 и переустановил его, но ничего не изменилось. Что я делаю неправильно?

Traceback (most recent call last):
  File "C:/Users/dell/Desktop/crossword.py", line 4, in <module>
    b = pytesser3.image_to_string(a)
  File "C:\Users\dell\AppData\Local\Programs\Python\Python36-32\lib\site-    packages\pytesser3\__init__.py", line 30, in image_to_string
call_tesseract(scratch_image_name, scratch_text_name_root)
  File "C:\Users\dell\AppData\Local\Programs\Python\Python36-32\lib\site- packages\pytesser3\__init__.py", line 20, in call_tesseract
proc = subprocess.Popen(args)
  File "C:\Users\dell\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 707, in __init__
restore_signals, start_new_session)
  File "C:\Users\dell\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 990, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified:

Вот test.png:


import pytesser3
import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = 'C:\\Users\\dell\\AppData\\Local\\Programs\\Python\\Python36-32\\Lib\\site-packages\\pytesseract'
a = Image.open("C:\\Users\\dell\\Desktop\\test.png")
b = pytesseract.image_to_string(a)
print(b)

Я сделал то, что вы сказали, но теперь у меня другая ошибка:

Traceback (most recent call last):
  File "C:/Users/dell/Desktop/crossword.py", line 6, in <module>
b = pytesseract.image_to_string(a)
  File "C:\Users\dell\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pytesseract\pytesseract.py", line 122, in image_to_string
config=config)
  File "C:\Users\dell\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pytesseract\pytesseract.py", line 46, in run_tesseract
proc = subprocess.Popen(command, stderr=subprocess.PIPE)
  File "C:\Users\dell\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 707, in __init__
restore_signals, start_new_session)
  File "C:\Users\dell\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 990, in _execute_child
startupinfo)
PermissionError: [WinError 5] Access denied.

1 ответ

Вам нужно будет объявить путь pytesseract:

import pytesseract
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-
OCR/tesseract'

Откройте файл "init.py" в модуле pytesser3. Путь будет выглядеть как "c:\....\Python\site-packages\pytesser3" или внутри "c:\....\Python\Lib\site-packages\pytesser3".

И измените значение переменной для "tesseract_exe_name = " на ваш путь к pytesseract, который будет выглядеть как "C:\....\Python\Lib\site-packages\pytesseract" или "c:\....\Python\site-packages\pytesseract"

Это решит проблему.

Другие вопросы по тегам