Pythonでいろいろやってみる

Pythonを使った画像処理や機械学習などの簡単なプログラムを載せています。

長方形を描画する

やること
  • 横600px縦400pxの白1色の画像を生成する
  • 白1色の画像にX20,Y10を左上、X590,Y390を右下の角になる長方形を太さ3pxの青い線を描画し別ウィンドウで表示
  • キー入力で表示用ウィンドウを破棄し終了
使った関数
  • np.ones : 要素の値が1の新規配列の生成
  • cv2.rectangle : 長方形描画
  • cv2.imshow : 画像を別ウィンドウに表示する

環境

  • windows10 home
  • Anaconda 3/ jupyter notebook 5.6.0
  • Python 3.7.0
  • OpenCV 4.0.0
コード
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を右下の角になる長方形が青い線で描画されます f:id:T_A_T:20190303120844p:plain

中を塗りつぶす場合は線の太さを-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() #ウインドウを閉じる
実行結果

f:id:T_A_T:20190303153056p:plain

ブログランキングに参加しています

にほんブログ村 IT技術ブログへ
にほんブログ村