前提・実現したいこと
ご教示を頂きたいですm(_ _)m
PythonでOCRを実行した際に、読み込んだ画像のどの部分を参照出来たかを、OpenCVで枠で囲んで示したいです。
しかしコードを実行すると、以下のエラーメッセージが・・・
後述のソースコードの、「★ ★ ★ ★ ★」の行以下が、問題が発生しているブロックです。
ここを丸ごと削除すると、問題無く完了します。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "C:\python\16b_OCR.py", line 189, in <module> print(d.content) AttributeError: 'str' object has no attribute 'content'
該当のソースコード
#-*- encoding: utf-8 -*- from __future__ import print_function # coding: utf-8 #!/usr/bin/env python import os,matplotlib,re,MeCab,itertools,pydotplus,requests,io,string,cv2,json,re from PIL import Image import sys,pyocr,os,codecs,io import pyocr.builders import pytesseract from pdfminer.pdfinterp import PDFResourceManager from pdfminer.pdfinterp import PDFPageInterpreter from pdfminer.layout import LAParams, LTTextBox, LTTextLine, LTImage, LTFigure from pdfminer.converter import PDFPageAggregator from PIL import ImageOps from pdf2image import convert_from_path, convert_from_bytes path = u"C:/python/" tools = pyocr.get_available_tools() if len(tools) == 0: print("No OCR tool found") sys.exit(1) tool = tools[0] path = u"test11" images = convert_from_path(path + ".pdf") images[0].save(path + ".png", 'png') # OCR txt = tool.image_to_string( # 言語,オプションを指定する Image.open(path + ".png"), lang='jpn+Eng', builder=pyocr.builders.TextBuilder(tesseract_layout=3), ) # 分かち書きのスペースを削除 txt = re.sub(r'\s+', '', txt) # 出力ファイル名設定 filename = os.path.basename(path) filename = os.path.splitext(filename)[0] outname = "OCR_" + filename + ".txt" f = codecs.open(outname, 'w',"utf-8") f.write(txt) f.close() print(txt) #★ ★ ★ ★ ★ ★ ★ ★ ★ ★ out = cv2.imread(path + ".png") for d in txt: print(d.content) print(d.position) cv2.rectangle(out, d.position[0], d.position[1], (0, 0, 255), 2) cv2.imshow("img",out) cv2.waitKey(0) cv2.destroyALLWindows()
試したこと
検索では解決出来ず、該当部分をコメントアウトした所、今度は以下のエラーが発生してしまい自分には無理と判断しました・・
Traceback (most recent call last): File "C:\python\16b_OCR.py", line 190, in <module> print(d.position) AttributeError: 'str' object has no attribute 'position'
以上です。
どなた様か、お救いくださると幸いです。・・!!m(_ _)m
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/14 14:42