C++とOpenCVで円を描画する方法|circle()関数の使い方を解説
円は「中心」と「半径」という2つの要素によって定義されます。OpenCVで円を描画するには、あらかじめ中心座標と半径を決めておく必要があります。また、circle()関数はimgproc.hppヘッダー内で定義されているため、このヘッダーを必ずインクルードしなければなりません。
circle()関数の基本構文
circle(whiteMatrix, center, radius, line_Color, thickness);
各引数の意味は以下の通りです。
- whiteMatrix:描画対象となる画像(Mat行列)
- center:円の中心座標(Point型)
- radius:円の半径(ピクセル単位)
- line_Color:線の色(Scalar型でBGR形式を指定)
- thickness:線の太さ
それでは、実際にOpenCVで円を描画するサンプルプログラムを見ていきましょう。
サンプルコード
#include<iostream>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main() {
Mat whiteMatrix(200, 200, CV_8UC3, Scalar(255, 255, 255));// 白いキャンバスとなる行列を宣言
Point center(100, 100);// 円の中心点を宣言
int radius = 50; // 半径を宣言
Scalar line_Color(0, 0, 0);// 円の色(黒)
int thickness = 2;// 線の太さ
namedWindow("whiteMatrix");// 円を表示するウィンドウを宣言
circle(whiteMatrix, center, radius, line_Color, thickness);// circle()関数で円を描画
imshow("WhiteMatrix", whiteMatrix);// 描画した円を表示
waitKey(0);// キー入力を待機
return 0;
}
実行結果
このプログラムをコンパイルして実行すると、200×200ピクセルの白色キャンバスが表示され、その中央(座標100, 100)に半径50ピクセルの黒い輪郭線の円が描画されます。ウィンドウは任意のキーを押すまで表示されたままになります。

-
JavaとOpenCVで線を描画する方法をわかりやすく解説
Java版OpenCVライブラリのorg.opencv.imgprocパッケージには、Imgprocというクラスが含まれています。画像に直線を描画するには、このクラスが提供するline()メソッドを呼び出します。 line()メソッドのパラメータ line()メソッドは、以下のパラメータを受け取ります。 Matオブジェクト ― 直線を描画する対象となる画像を表します。 Pointオブジェクト2つ ― 直線の始点と終点の座標を表します。 Scalarオブジェクト ― 直線の色をBGR形式で指定します。 整数値 ― 直線の太さを指定します(デフォルト値:1)。 サンプルコード 以下は、白紙の画
-
OpenCVのcircle()関数を使って画像に円を描画する方法
はじめに本記事では、OpenCVが提供するcircle()関数を使用して、画像上に円を描画する方法を解説します。円の中心座標・半径・色・線の太さを自由に指定できるため、画像への注釈付けや図形のオーバーレイ表示など、さまざまな場面で活用できます。元画像処理の手順(アルゴリズム)ステップ1:OpenCVをインポートする ステップ2:円の半径を定義する ステップ3:円の中心座標を定義する ステップ4:円の色を定義する ステップ5:線の太さを定義する ステップ6:上記の引数を画像とともにcv2.circle()へ渡す ステップ7:出力結果を表示するcv2.circle()の主な引数image:描画対象