hiyoko-programingの日記

プログラミングを勉強したてのひよっ子。   エンジニア目指して勉強中。

画像の上に文字を書く

◉ 文字を重ねて書く理由

顔検出を行う時、顔が見つからない時がある。

そういった場合、検出対象とした画像の上に、結果のメッセージを表示すると

検出できたかどうかなど、画像を見るだけでは判断できないことも

わかりやすく伝えることができる。

 

◉ 文字を描く方法

cv2.putText(文字を描く画像, 描く文字, 表示する座標, 文字の種類, 文字サイズ, 色, 文字描画の線の太さ)

  ⚫︎ 文字を描く画像:キャンパス

  ⚫︎ 描く文字:描きたい文字列を指定

  ⚫︎ 表示する座標:文字を表示する開始点をXとYの座標で指定(px) 

  ⚫︎ 文字の種類:フォント

  ⚫︎ 文字サイズ:文字の大きさを指定

  ⚫︎ 色:RGBで指定

  ⚫︎ 文字描画の線の太さ:1から順に増えるに従って太くなる

 

<画像の上に文字を表示するPythonコード例>

import cv2

try:

    img = cv2.imread( ' girl01.jpg ' ) 

    if img is None:

         raise ValueError('ファイルが見つかりません')

 cv2.putText(img, 'When do you drink a smoothie?', (20, 50),cv2.FONT_HERSHEY_COMPREX, 1.1, (0, 0, 255), 2)

    cv2.imshow('Photo+Text', img)

    cv2.waitKey(0)

    cv2.destroyAllWindows()

except ValueError as e:

    print(e)

except:

    import traceback

    traceback.print_exc()