Python 実践 データ加工/可視化 100本ノック に挑戦 ノック69 70

ノック69 : 画像にテキストや線を描画してみよう

sample.jpgにテキストを表示させます。

表示する内容は数字の9、色は赤色です。

9を表示する座標は(500,300)です。

thicknessは文字の太さです。

import cv2
img = cv2.imread('data/sample.jpg')
img_resized = cv2.resize(img, (500, 300))

text = '9'
xy = (200,100)
font = cv2.FONT_HERSHEY_COMPLEX
font_scale = 2
color = (0,0,255)
thickness=2
img_text = cv2.putText(img_resized.copy(),text,xy,font,font_scale,color,thickness)

cv2.imshow('text 9 red ',img_text)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

実行結果

text 9

 

次は図形を表示します。

表示する図形は四角です。

引数は画像、左上の座標、右下の座標、カラー、線の太さです。

x0,y0 = 200,70
x1,y1 = 350,295
thickness=3

img_rect = cv2.rectangle(img_resized.copy(),(x0,y0),(x1,y1),color,thickness)

cv2.imshow('squre',img_rect)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

実行結果

四角

 

 

ノック70 : 画像を保存してみよう

 

画像データを保存します。保存する場合はcv2.imwriteを実行します。

cv2.imwrite('data/sample_resized.png',img_resized)

 

保存したデータを読みだしてみます。

img_read=cv2.imread('data/sample_resized.png')

cv2.imshow('png',img_read)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

実行結果

問題なく画像を読み込めました。

png

 

 

 

 

 

 

 

/* -----codeの行番号----- */