質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1588閲覧

python OCRでの画像の読み込みエラー

batafulai

総合スコア2

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/03/19 05:08

編集2023/03/19 05:18

実現したいこと

・エラーをなくし、画像の読み込みを成功させる。

前提

python OCRでの画像の読み込みエラーが出る

発生している問題・エラーメッセージ

Traceback (most recent call last): File "test_1.py", line 20, in <module> img_org = Image.open("C:\\Users\\〇〇〇\\Documents\\src\\48.jpg") File "/home/△△△/.local/lib/python3.8/site-packages/PIL/Image.py", line 3227, in open fp = builtins.open(filename, "rb") FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\〇〇〇\\Documents\\src\\48.jpg'

該当のソースコード

python

1import os 2import sys 3from PIL import Image 4import pyocr 5import pyocr.builders 6 7TESSERACT_PATH = 'C:\\Program Files\\Tesseract-OCR' 8TESSDATA_PATH = 'C:\\Program Files\\Tesseract-OCR\\tessdata' 9 10os.environ["PATH"] += os.pathsep + TESSERACT_PATH 11os.environ["TESSDATA_PREFIX"] = TESSDATA_PATH 12 13tools = pyocr.get_available_tools() 14if len(tools) == 0: 15 print("No OCR tool found") 16 sys.exit(1) 17tool = tools[0] 18 19# 画像の読み込み 20img_org = Image.open("C:\\Users\\〇〇〇\\Documents\\src\\48.jpg") 21 22# OCRの実行 23builder = pyocr.builders.TextBuilder() 24result = tool.image_to_string(img_org, lang="jpn", builder=builder) 25 26print(result)

試したこと

パスに使用しているバックスラッシュを一つにしたり”./48.jpg””に変更してもダメでした。

補足情報(FW/ツールのバージョンなど)

VScode
Python 3.8.10
WSLのubuntu

48.jpgの絶対パスは"C:\Users\〇〇〇\Documents\src\48.jpg"です。
vscodeのパスをコピーから取りました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

wslのubuntuでの確認ではpython3.8.10でVScodeではpython 3.9.0でした。
wsl用のパスに変換すると、ubuntuの方では別のエラーが出て直りました。ありがとうございます。
VScodeの方ではパスに関する同様のエラーが出ます。

投稿2023/03/19 05:29

batafulai

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

VSCodeで実行する環境がLinuxである場合、エラーが発生する可能性があります。
VSCodeのターミナルでpython --versionを実行して、PythonのバージョンがPython 3.8.10であることを確認してください。

また、実行環境がWSL(Windows Subsystem for Linux)である場合、パスをLinux形式に変更する必要があります。
WSLでは、Windowsのファイルシステムは/mnt/ディレクトリ以下にマウントされています。
そのため、WindowsのパスをWSL用に変換すると、次のようになります。

img_org = Image.open("/mnt/c/Users/〇〇〇/Documents/src/48.jpg")

しかし、実行環境が本当にWindowsである場合、問題は別の場所にあるかもしれません。
次の手順を試してください。

1.画像ファイルが本当に存在することを確認してください。Windowsエクスプローラでパスを確認し、C:\Users\〇〇〇\Documents\src\48.jpgが存在することを確認してください。

2.ファイルパスに含まれる特殊文字(日本語など)が原因である可能性があります。
ファイルパスを英数字のみに変更してみてください。
たとえば、画像ファイルをC:\Users\your_username\Documents\src\48.jpgに移動し、Pythonスクリプトを次のように変更してください。

img_org = Image.open("C:\Users\your_username\Documents\src\48.jpg")

これらの手順を試しても問題が解決しない場合、詳細な情報が必要です。
VSCodeの設定やPythonの実行環境、使用しているOSの詳細を提供してください。

投稿2023/03/19 05:13

quiz

総合スコア269

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問