hiyoko-programingの日記

プログラミングを勉強したてのひよっ子。   エンジニア目指して勉強中。

円を描く

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