実現したいこと・発生している問題・試したこと
今回はイカリング3の下記画像からユーザー名、塗りポイント、KDSのデータを取得した。
(画像はお借りしています。)
文字の認識までは行えたが、iphone 13 pro maxのスクショの画像で行っていたため、他のiphone 13 proでのスクショの画像ではずれてしまったため、どの解像度の画像が来ても、取得できるようにしたい。
他の方法で、テキスト描写域を取得してから行う方法では、取得できない部分があり断念した。
何かいい方法がありましたら、教えていただきたいです。よろしくお願いします。
該当のソースコード
py
1path='C:\\Program Files\\Tesseract-OCR\\' 2os.environ['PATH'] = os.environ['PATH'] + path 3pyocr.tesseract.TESSERACT_CMD = r'C:\Program Files\Tesseract-OCR\tesseract.exe' 4engines = pyocr.get_available_tools() 5engine = engines[0] 6point = [[170,718,490,772],[820,720,973,775],[973,720,1235,772], 7 [170,875,490,942],[820,885,973,945],[973,885,1235,942], 8 [170,1045,490,1110],[820,1050,973,1112],[973,1050,1235,1110], 9 [170,1208,490,1268],[822,1212,973,1268],[973,1212,1235,1265], 10 [170,1476,490,1535],[820,1485,973,1538],[973,1485,1235,1535], 11 [170,1648,490,1700],[820,1648,973,1704],[973,1648,1235,1700], 12 [170,1808,490,1865],[820,1812,973,1868],[973,1812,1235,1865], 13 [170,1974,490,2035],[820,1978,973,2038],[973,1978,1235,2035] 14 ] 15file_name = "aaa.png" 16spl_data_list = [] 17for i in range(len(point)): 18 txt = engine.image_to_string( 19 Image.open(file_name).crop((point[i][0],point[i][1],point[i][2],point[i][3])), 20 lang="ikaltoon", 21 builder=pyocr.builders.TextBuilder() 22 ) 23 spl_data_list.append(txt) 24 with open(r"ocr_result.txt", "a",encoding="utf-8",errors="ignore") as f:#w 25 print(txt, file=f) 26 27 img = cv2.imread(file_name) 28 img = cv2.rectangle(img, (point[i][0],point[i][1]),(point[i][2],point[i][3]), (255, 0, 0), 3, 4) 29 cv2.imwrite(file_name, img)
回答1件
あなたの回答
tips
プレビュー