長方形を描画する
やること
- 横600px縦400pxの白1色の画像を生成する
- 白1色の画像にX20,Y10を左上、X590,Y390を右下の角になる長方形を太さ3pxの青い線を描画し別ウィンドウで表示
- キー入力で表示用ウィンドウを破棄し終了
使った関数
- np.ones : 要素の値が1の新規配列の生成
- cv2.rectangle : 長方形描画
- cv2.imshow : 画像を別ウィンドウに表示する
環境
コード
import cv2 #OpenCVのインポート import numpy as np #numpyをnpという名前でインポート img=np.ones((400, 600, 3), np.uint8)*255 #400要素X600要素X3要素で全要素の値が255(白)の3次元配列を生成しオブジェクトimgに代入 cv2.rectangle(img,(100,50),(400,250),(255,0,0),3) #オブジェクトimgにX20,Y10を左上、X590,Y390を右下の角になる長方形を青:BGR=(255,0,0)、太さ3pxの線で描画 cv2.imshow("rectangle",img) #別ウィンドウを開き(ウィンドウ名 "rectangle")オブジェクトimgを表示 cv2.waitKey(0) #キー入力待ち cv2.destroyAllWindows() #ウインドウを閉じる
実行結果
別ウィンドウが開き、横600px縦400pxの全面白画像にX20,Y10を左上、X590,Y390を右下の角になる長方形が青い線で描画されます
中を塗りつぶす場合は線の太さを-1とします
コード
import cv2 #OpenCVのインポート import numpy as np #numpyをnpという名前でインポート #400要素X600要素X3要素で全要素の値が255(白)の3次元配列を生成しオブジェクトimgに代入 img=np.ones((400, 600, 3), np.uint8)*255 #オブジェクトimgにX20,Y10を左上、X590,Y390を右下の角になる長方形を青:BGR=(255,0,0)で塗りつぶし描画 cv2.rectangle(img,(100,50),(400,250),(255,0,0),-1) cv2.imshow("rectangle",img) #別ウィンドウを開き(ウィンドウ名 "rectangle")オブジェクトimgを表示 cv2.waitKey(0) #キー入力待ち cv2.destroyAllWindows() #ウインドウを閉じる
実行結果