函数ellipse可用来绘制或填充一个简单的椭圆或椭圆弧,函数声明如下:
ellipse(img, center, axes, angle, start_angle, end_angle, color, thickness,lineType,shift)
img表示输入的图像
center表示椭圆圆心坐标
axes表示椭圆长轴和短轴的长度(为半轴长),输入参数时如此表示:(long,shor)
angle表示主轴(长轴)偏转角度
start_angle表示圆弧起始角度
end_angle表示圆弧终结角度
color表示线条颜色,为BGR形式,如蓝色为(255,0,0)
thickness为非负数时表示线条的粗细程度,否则表示椭圆被填充
lineType表示线条的类型,默认为LINE_8,可直接用8表示,另外还有LINE_4和LINE_AA
shift表示圆心坐标点和数轴的精度,默认为0
import cv2
import numpy as np
# 显示图像
def cv_show(winame,image):
cv2.imshow(winame,image)
cv2.waitKey(0)
cv2.destroyAllWindows()
rookImage=np.zeros((600, 600, 3), np.int8) # 定义一张600*600(y*x)的黑色背景图片
cv2.ellipse(rookImage, (300, 300), (240, 100), 0, 0, 360, (0, 250, 0), 3) # 绘制椭圆
cv_show('rook',rookImage) # 显示
显示图片如下:
angle是长轴与x轴正方向的角,start_angle与eng_angle都是与x轴正方向的夹角,要绘制一个完整的椭圆时,start_angle与eng_angle分别为0和360
当偏转角度angle分别为0,45,75,-45时,图如下:
当start_angle和end_angle分别为45,360
90,360
45,270
90,270
时,图片如下: