円を描く
OpneCVの基本機能の1つである円の描画で円を描いてみる。
◉なぜ円を描くのか?
画像検出の際に、「ここが検出場所ですよ」と示す記号として
円を利用するから。
◉モジュールを使う
import cv2 # OpenCVの機能を使う
import numpy #円を描くためのキャンパス作成用
◉黒色のキャンパスを作る方法
画像 = numpy.zeros(キャンパスのサイズとチャンネル数, データ型)
⚫︎キャンパスのサイズ:縦横サイズを「ピクセル」単位で指定
⚫︎チャンネル数:カラー画像は「3」を指定
⚫︎データ型:「numpy.uint8」を指定
◉円を描く方法
cv2.circle(円を描く対象の画像, 円の中心座標, 半径, 色)
⚫︎円を描く対象の画像:作ったキャンパス
⚫︎円の中心座標:XとY座標を「ピクセル」単位で指定
⚫︎半径:半径を「ピクセル」単位で指定
⚫︎色:RGBで指定
◉描いた内容を表示する方法
cv2.imshow('表示窓のタイトル', 画像)
cv.waitKey(0) #スペースキーを押すまで待つ
cv2.destroyAllWindows() #表示窓を閉じて終了
⚫︎1行目だけだと一瞬表示されてすぐに閉じてしまうので、
2行目、3行目が必要。
以上、これらを踏まえた例が以下。
<円を描いて表示するPythonコード>
import cv2
import numpy
img = numpy.zeros*1
cv2.imshow('View Circle', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
●解説
⚫︎3行目の500, 500は縦横500pxの正方形キャンパスを作っている。
⚫︎4行目で円を描いている。500pxのうちのXもYも250pxなので円の中心は、
正方形キャンパスの真ん中。半径が200px。
色が (R=0, G=200, B=255) を指定。
●表示
ターミナルで
カレントディレクトリに移動し、プログラムを動かしてみる。
※初回は表示されるまで時間がかかることがある。
表示され確認したら、スペースキーで閉じる。
*1:500, 500, 3), numpy.uint8)
cv2.circle(img, (250, 250), 200, (0, 200, 255