Python環境でopencvを使用して楕円を描画するには、cv2.ellipse()関数を使用する必要があります。
次のプログラム例では、この関数を使用して、中心が(260,240)、長軸が170、短軸が130、線幅が3の白い楕円を黒い背景に描画します。
import cv2
import numpy as np
img=np.zeros((512,512,3),np.uint8) #设置背景
cv2.ellipse(img, (260, 240), (170, 130), 0, 0, 360, (255, 255, 255), 3) #画椭圆
cv2.imshow("test",img) #显示
cv2.waitKey(0) #按下任意键退出
cv2.destroyAllWindows()
cv2.ellipse()関数はより複雑であり、関連するパラメーターについて以下で詳しく説明します。
関数プロトタイプ:
cv2.ellipse(img、center、axes、angle、startAngle、endAngle、color、thickness、lineType、shift)
各パラメーターの意味は次のとおりです。
img:描画する画像
center:楕円の中心点の座標
軸:楕円のサイズ(つまり、長軸と短軸)
角度:回転角(時計回り)
startAngle:描画の開始角度(時計回り)
endAngle:描画の終了角度(たとえば、楕円全体の描画は0,360、楕円の下半分の描画は0,180)
色:線の色(BGR)
太さ:線の太さ(デフォルト= 1)
lineType:線種(デフォルト値= 8)
シフト:中心座標点と数値軸の精度(デフォルト値= 0)
ちなみに、一般的に使用されるいくつかの描画関数を紹介します。
1.直線を描くcv2.line()
cv2.line(img、Point pt1、Point pt2、color、thickness = 1、line_type = 8、shift = 0)
pt1とpt2は、それぞれ直線の2つの端点を表します。
2.長方形を描くcv2.rectangle()
cv2.rectangle(img、Point pt1、Point pt2、color、thickness = 1、line_type = 8、shift = 0)
pt1とpt2は、それぞれ長方形の左上隅と右下隅を表します。
3.円を描くcv2.circle()
cv2.circle(img、center、radius、color、thickness、lineType、shift)
center、radiusは、円の中心と半径を表します。