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

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

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

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

Python 3.x

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

Q&A

0回答

3992閲覧

tesseract のWordBoxBuilderでエラーが出てしまう。

Tera0724

総合スコア18

Tesseract

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

Python 3.x

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

0グッド

0クリップ

投稿2020/08/05 01:55

現在、pythonとtesseractにより画像上の文字の大方の座標を取得するプログラムを作成しようとしています。
作成したプログラムが以下の通りです。

python

1import pyocr 2import pyocr.builders 3import cv2 4from PIL import Image 5import sys 6import os 7 8tools = pyocr.get_available_tools() 9 10if len(tools) == 0: 11 print("No OCR tool found") 12 sys.exit(1) 13 14tool = tools[0] 15 16path = "bs_data/test1.jpg" 17 18res = tool.image_to_string(Image.open(path), 19 lang="Japanese", 20 builder=pyocr.builders.WordBoxBuilder(tesseract_layout=6)) 21 22 23out = cv2.imread(path) 24for d in res: 25 print(d.content) 26 print(d.position) 27 cv2.rectangle(out_resize, d.position[0], d.position[1], (0, 0, 255), 2) 28 29cv2.imshow("img",out) 30cv2.waitKey(0) 31cv2.destroyAllWindows()

上記プログラムを動かしたところ、以下のようなerrorが出てしまいます。
Traceback (most recent call last):
File "getRowCutting.py", line 23, in <module>
builder=pyocr.builders.WordBoxBuilder(tesseract_layout=6))
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyocr/tesseract.py", line 384, in image_to_string
-1, "Unable to find output file (tested {})".format(tested_files)
pyocr.error.TesseractError: (-1, "Unable to find output file (tested ['/var/folders/06/1sp1h1zs7j755lq2mjfrt43r0000gn/T/tmpbpi1ftbk/output.html', '/var/folders/06/1sp1h1zs7j755lq2mjfrt43r0000gn/T/tmpbpi1ftbk/output.hocr'])")

以下を参考にいろいろ見てみました。
参考資料

tesseract --print-parameters | grep hocr

と入力したところ

hocr_font_info 0 Add font info to hocr output hocr_char_boxes 0 Add coordinates for each character to hocr output tessedit_create_hocr 0 Write .html hOCR output file

と出てきました。
しかし、
/usr/local/tesseract/share/tessdata/configs/hocr内の設定(?)をみたところ、
tessedit_create_hocrの値は1となっていました。
これは、複数のバージョンが入ってしまっていて、参照先が異なってしまっているために上記のエラーが出てしまうということなのでしょうか?
質問もわかりづらいものとなってしまい申し訳ありませんが、お答えしていただけると助かります。
以上、よろしくお願いします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問