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

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

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

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

Python

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

Q&A

1回答

5012閲覧

Python・Tesseractで作った文字認識ツールの配布エラー

eikixunrong

総合スコア4

Tesseract

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

Python

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

0グッド

0クリップ

投稿2019/09/13 07:41

編集2022/01/12 10:55

前提・実現したいこと

PythonとTesseractで作成した文字認識ツールを配布したいです。

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

pyinstallerでexe化はできましたが、 exeを別PCで実行するとpyocrが見つけられずエラーが発生します。 ("No OCR tool found"のメッセージが表示される) どのように対応すればいいでしょうか?

該当のソースコード

from PIL import Image import os import sys import pyocr import pyocr.builders import tkinter, tkinter.filedialog def Main(args): imgExts = [".jpg",".jpeg",".bmp",".png",".tif",".tiff"] tools = pyocr.get_available_tools(); if len(tools) == 0: print("No OCR tool found"); sys.exit(-1); tool = tools[0]; for i in range(1,len(args)): arg = args[i]; filePath, fileExt = os.path.splitext(arg) #If file is not a imagefile then skip if (fileExt in imgExts) == 0: continue out_path = arg + ".txt"; txt = tool.image_to_string( Image.open(arg), lang = "jpn", builder = pyocr.builders.TextBuilder(tesseract_layout=6) ) if out_path == "None": print(txt); os.system("Pause"); else: with open(out_path, mode = 'w') as f: f.write(txt); args = sys.argv if len(args) > 1: Main(args) else: root = tkinter.Tk() root.withdraw() fTyp =[("画像ファイル","*.jpg;*.jpeg;*.bmp;*.png;*.tif;*.tiff")] iDir = os.path.abspath(os.path.dirname(__file__)) #iDir = os.path.dirname(sys.executable) file = tkinter.filedialog.askopenfilenames(filetypes = fTyp,initialdir = iDir) args = list(file) if len(args) > 0: args.insert(0,__file__) Main(args)

試したこと

拡張子を.pyから.pywに変更したり、
installerの引数の -window --onefile --cleanを付けたり、消したりしましたが、
エラーは解消できません。

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

python 3.7.4
Tesseract v5.0.0-alpha.20190708

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

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

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

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

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

eikixunrong

2019/09/13 09:34

早速の回答ありがとうございます。 環境が整ってないPCでも実行できるようしたいのですが、Tesseractに関してはやはり入れてもらわないといけないでしょうか?
tiitoi

2019/09/13 09:37

入れてもらう必要がありますね
eikixunrong

2019/09/13 10:13

ありがとうございます。
guest

回答1

0

ココを見る限りTesseractのDLLを一緒に配布したりpyinstallerで組み込んだりしたらいけそうですね。

投稿2019/09/14 00:05

YouheiSakurai

総合スコア6142

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

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

eikixunrong

2019/09/17 01:49

情報有難うございます。 試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問