やること
- 横600px縦400pxの黒1色の画像を生成する
- 黒画像の上に中心がx,y半径が10の水色の塗りつぶした円を描画。xは10~590の範囲のいずれか、yは0~390の範囲のいずれか。
- 円を10個描画
- 別ウィンドウで画像を表示
- 画像をファイルに保存
- キー入力で表示用ウィンドウを破棄し終了
使った関数
- np.zeros : 要素の値が0の新規配列の生成
- random.uniform : 指定した範囲の乱数を生成する
- cv2.circle : 円描画
- cv2.imshow : 画像を別ウィンドウに表示する
環境
- windows10 home
- Anaconda 3/ jupyter notebook 5.6.0
- Python 3.7.0
- OpenCV 4.0.0
コード
import cv2
import numpy as np
import random
img=np.zeros((400, 600, 3), np.uint8)
for i in range(10):
x=int(random.uniform(10,590))
y=int(random.uniform(10,390))
cv2.circle(img, (x, y), 10, (255, 255, 0), -1)
cv2.imshow("random_circle",img)
cv2.imwrite("random_circle.png",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
実行結果
にほんブログ村