pyocrでTessearact-OCRを使って、画面の指定位置の文字をテキスト化する関数を作りました。動作は問題無いのですが、必ずUnsupported version [0.0.0]という警告(?)表示が出ます。windowsの環境変数のpathにはTesseract-OCRのディレクトリの位置を指定してあります。というかOCRによるテキスト化自体は問題無く成功しています。
どうやったら、この警告消えるのでしょうか?
Tesseractのバージョンは v4.0.0です。
Python
1import sys 2from PIL import ImageGrab 3import pyocr.builders 4def gettext(imgminx=642, imgminy=872, imgmaxx=916, imgmaxy=887, gray=0): 5 img = ImageGrab.grab((imgminx, imgminy, imgmaxx, imgmaxy)) 6 tools = pyocr.get_available_tools() 7 8 if len(tools) == 0: 9 print("No OCR tool found") 10 sys.exit(1) 11 tool = tools[0] 12 13 if gray == 1: 14 MIN_COLOR = 0 15 MAX_COLOR = 255 16 #文字を認識しやすいよう閾値200で白か黒の2値に変換 17 array = np.asarray(img.convert('L')) 18 array.flags.writeable = True 19 w, h = img.size 20 for y in range(h): 21 for x in range(w): 22 array[y, x] = MAX_COLOR if (array[y, x] > 200) else MIN_COLOR 23 img = Image.fromarray(np.uint8(array)) 24 25 txt = tool.image_to_string( # ここでOCRの対象や言語,オプションを指定する 26 img, 27 lang='jpn', 28 builder=pyocr.builders.TextBuilder(tesseract_layout=7) 29 ) 30 return txt
回答1件
あなたの回答
tips
プレビュー