Python
 Computer >> コンピューター >  >> プログラミング >> Python

OpenCVのcircle()関数を使って画像に円を描画する方法

はじめに

本記事では、OpenCVが提供するcircle()関数を使用して、画像上に円を描画する方法を解説します。円の中心座標・半径・色・線の太さを自由に指定できるため、画像への注釈付けや図形のオーバーレイ表示など、さまざまな場面で活用できます。

元画像

OpenCVのcircle()関数を使って画像に円を描画する方法

処理の手順(アルゴリズム)

ステップ1:OpenCVをインポートする
ステップ2:円の半径を定義する
ステップ3:円の中心座標を定義する
ステップ4:円の色を定義する
ステップ5:線の太さを定義する
ステップ6:上記の引数を画像とともにcv2.circle()へ渡す
ステップ7:出力結果を表示する

cv2.circle()の主な引数

  • image:描画対象となる画像
  • center:円の中心座標(x, y)をタプルで指定
  • radius:円の半径(ピクセル単位)
  • color:描画色をBGR形式のタプルで指定(例:(255, 255, 0)はシアン)
  • thickness:円周の線の太さ。-1を指定すると塗りつぶし円になります

サンプルコード

import cv2

# 画像を読み込む
image = cv2.imread('testimage.jpg')

# 円のパラメータを設定
radius = 100           # 半径
center = (350, 175)    # 中心座標 (x, y)
color = (255, 255, 0)  # BGR形式の色(シアン)
thickness = 15         # 線の太さ

# 円を描画
image = cv2.circle(image, center, radius, color, thickness)

# 結果を表示
cv2.imshow('Circle', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

なお、cv2.imshow()でウィンドウを正しく表示させるには、cv2.waitKey()cv2.destroyAllWindows()を組み合わせるのが一般的です。

出力結果

OpenCVのcircle()関数を使って画像に円を描画する方法

スクリプトを実行すると、指定した中心座標(350, 175)を基点として、半径100ピクセル・太さ15ピクセルのシアン色の円が画像上に描画されます。パラメータの値を変更すれば、大きさや色、位置を簡単に調整できます。

  1. OpenCVを使って画像に線を描画する方法

    この記事では、OpenCVのcv2.line()関数を使用して、画像にシンプルな線を描画する方法を解説します。線の始点・終点・太さ・色を自由に指定できるので、図形の描画や注釈の追加など、さまざまな場面で活用できます。 元画像 処理の流れ(アルゴリズム) ステップ1:cv2をインポートする。 ステップ2:imread()で画像を読み込む。 ステップ3:image.shapeメソッドで画像のサイズ(高さ・幅・チャンネル数)を取得する。 ステップ4:線の始点を定義する。 ステップ5:線の終点を定義する。 ステップ6:線の太さを定義する。 ステップ7:cv2.line()関数で線を描画し、ステップ3

  2. PythonとOpenCVで画像の輪郭を検出・描画する方法

    画像解析を行う際には、Python向けのオープンソースライブラリ「OpenCV(Open Source Computer Vision Library)」が広く利用されています。OpenCVをインストールした後、プログラム内では「cv2」という名前でインポートして使用します。 本記事では、画像ファイルに含まれる輪郭(コンタ)を検出し、描画する方法を解説します。輪郭とは、画像内の物体の形状を把握するために重要な情報で、「同じ明るさ(輝度)を持つ領域の境界上にある点を結んだ線」として定義されます。OpenCVでは、輪郭の検出にfindContours関数、輪郭の描画にdrawContours関数を