0

pytesseractPythonで画像をテキストとして読み取るために使用しています。以下は私のコードです:

from PIL import Image
from pytesseract import image_to_string
import os.path

if (os.path.exists('image.png')):
    filename = 'image.png'
    image = Image.open(filename)
    image.show()
    s = image_to_string(Image.open(filename))
else:
    print('Does not exist')

コードはファイルimage.pngを取得して開き、画像を表示します。これは、ファイルがそのディレクトリに存在することを意味します。しかし、次の行s = image_to_string(Image.open(filename))に移動すると、次のエラーが発生します。

Traceback (most recent call last):
  File "C:/Users/hp/Desktop/GII/Genetic_Algorithm.py", line 8, in <module>
    s = image_to_string(Image.open(filename))
  File "C:\Users\hp\Downloads\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\lib\site-packages\pytesseract\pytesseract.py", line 161, in image_to_string
    config=config)
  File "C:\Users\hp\Downloads\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\lib\site-packages\pytesseract\pytesseract.py", line 94, in run_tesseract
    stderr=subprocess.PIPE)
  File "C:\Users\hp\Downloads\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\lib\subprocess.py", line 950, in __init__
    restore_signals, start_new_session)
  File "C:\Users\hp\Downloads\WinPython-64bit-3.5.1.2\python-3.5.1.amd64\lib\subprocess.py", line 1220, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

私は一生懸命努力しましたが、これを処理する方法がわかりません。

4

1 に答える 1

0

たぶん試してください:

f2 = os.path.abspath(ファイル名)

s = image_to_string(Image.open(f2))

PIL は明らかにサブプロセスを使用しており、メイン プロセスと同じ「デフォルト ディレクトリ」を持っていない可能性があります。

于 2016-07-24T18:48:37.973 に答える