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

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

新規登録して質問してみよう
ただいま回答率
87.20%
Tesseract

Tesseractは、Googleが提供しているオープンソースのOCRエンジンです。機械学習があり60以上の言語に対応でき、日本語の文字認識も可能です。さらに精度を上げることもできます。

Python

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

解決済

pyocrにて長いエラーが出て検索のしようがない

Mercedes_Melvin
Mercedes_Melvin

総合スコア1

Tesseract

Tesseractは、Googleが提供しているオープンソースのOCRエンジンです。機械学習があり60以上の言語に対応でき、日本語の文字認識も可能です。さらに精度を上げることもできます。

Python

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

1回答

0評価

0クリップ

371閲覧

投稿2021/12/01 05:32

編集2021/12/01 06:45

###pyocrにて長いエラーが出て検索のしようがない

pyocrを用いた簡単な文字認識コードを書いているのですが、
エラー文が長く検索の仕方も難しいため
非常に解決にたどり着けず困っています。

実行結果

<module 'pyocr.tesseract' from 'C:\Users\プライベート\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pyocr\tesseract.py'> Warning (from warnings module): File "C:\Users\プライベート\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\PIL\Image.py", line 975 warnings.warn( UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images Traceback (most recent call last): File "C:\Users\プライベート\Desktop\python\test.py", line 14, in <module> txt = tool.image_to_string( File "C:\Users\プライベート\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pyocr\tesseract.py", line 369, in image_to_string raise TesseractError(status, errors) pyocr.error.TesseractError: (1, b'Error opening data file C:\Program Files\Tesseract-OCR\tessdata/jpn.traineddata\r\nPlease make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory.\r\nFailed loading language \'jpn\'\r\nTesseract couldn\'t load any languages!\r\nCould not initialize tesseract.\r\n') >>>

該当のソースコード

python

from PIL import Image import sys import pyocr import pyocr.builders pyocr.tesseract.TESSERACT_CMD = r"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe" tools = pyocr.get_available_tools() tool = tools[0] print(tool) picture = Image.open("test1.png") txt = tool.image_to_string( picture, lang="jpn", builder = pyocr.builders.TextBuilder(tesseract_layout = 3) ) print(txt)

###追記
環境変数「TESSDATA_PREFIX」を設定しようと試みましたが
改善の余地は見られませんでした。
以下ソースコード

python

from PIL import Image import sys import os import pyocr import pyocr.builders TESSERACT_PATH = 'C:\Program Files (x86)\Tesseract-OCR' TESSDATA_PATH = 'C:\Program Files (x86)\Tesseract-OCR\tessdata' os.environ["PATH"] += os.pathsep +TESSERACT_PATH os.environ["TESSDATA_PREFIX"] = TESSDATA_PATH tools = pyocr.get_available_tools() if len(tools) == 0: print("p") tool = tools[0] print(tool) picture = Image.open("test1.png") txt = tool.image_to_string( picture, lang="jpn", builder = pyocr.builders.TextBuilder(tesseract_layout = 3) ) print(txt)

以下エラー内容

<module 'pyocr.tesseract' from 'C:\Users\プライベート\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pyocr\tesseract.py'> Warning (from warnings module): File "C:\Users\プライベート\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\PIL\Image.py", line 975 warnings.warn( UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images Traceback (most recent call last): File "C:\Users\プライベート\Desktop\python\test.py", line 23, in <module> txt = tool.image_to_string( File "C:\Users\プライベート\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pyocr\tesseract.py", line 369, in image_to_string raise TesseractError(status, errors) pyocr.error.TesseractError: (1, b'Error opening data file C:\Program Files (x86)\Tesseract-OCR\tessdata/jpn.traineddata\r\nPlease make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory.\r\nFailed loading language \'jpn\'\r\nTesseract couldn\'t load any languages!\r\nCould not initialize tesseract.\r\n')

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

jbpb0

2021/12/01 05:56

> Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. 環境変数「TESSDATA_PREFIX」を設定しろ、と言われてます 参考 https://blog.14nigo.net/2018/03/pyocr.html
jbpb0

2021/12/01 06:56

> 環境変数「TESSDATA_PREFIX」を設定しようと試みましたが 改善の余地は見られませんでした。 https://blog.14nigo.net/2018/03/pyocr.html のコードと、パス区切り文字が違います

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Tesseract

Tesseractは、Googleが提供しているオープンソースのOCRエンジンです。機械学習があり60以上の言語に対応でき、日本語の文字認識も可能です。さらに精度を上げることもできます。

Python

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