Tesseract OCRで認識した文字の周りに矩形を表示する

スポンサーリンク

Tesseractとライブラリをインストールする

!apt install tesseract-ocr libtesseract-dev tesseract-ocr-jpn tesseract-ocr
!pip install pyocr

ライブラリを読み込む

import pyocr
import cv2
from google.colab.patches import cv2_imshow
from PIL import Image

画像の文字を認識して矩形を表示する

image_to_string関数で、builderにLineBoxBuilder()を指定すると、戻り値に行単位に認識した文字の矩形座標情報が返されます。

tools=pyocr.get_available_tools()
tool=tools[0]

im=cv2.imread("test.png")
im_gray=cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)

res=tool.image_to_string(
  Image.fromarray(im_gray),
  lang="jpn",
  builder=pyocr.builders.LineBoxBuilder()
)

#認識した文字の周りに矩形を描画
for d in res:
  cv2.rectangle(im, d.position[0], d.position[1], (0, 0, 255), 1) #線の色と太さを指定

cv2_imshow(im)
Python
スポンサーリンク
シェアする
cccをフォローする

コメント

タイトルとURLをコピーしました