首页 > 编程笔记 > Python笔记 阅读:1

OpenCV ellipse():绘制椭圆(附带实例)

函数 ellipse() 用来绘制或者填充一个简单的椭圆弧或椭圆扇形。圆弧被 ROI(Region of Interest,兴趣区域)矩形忽略,并使用线性分段近似值来处理反走样弧线和粗弧线,所有的角都以角度的形式给定。

ellipse() 函数声明如下:
ellipse(img, center, axes, angle, start_angle, end_angle, color, thickness=1, lineType=8, shift=0) -> None
各个参数的含义如下:
下面看一个实例,绘制丰田车标。丰田车标是由 3 个椭圆组成的,两个横着,一个竖着:
import numpy as np
import cv2 as cv

img = cv.imread("test.jpg")
points_list = [ (45, 45),  (45, 45),(45, 32)]
size_list = [ (40, 25),  (25, 11),(28, 12)]
color = (0, 0, 255) # BGR

#绘制第一个椭圆,大椭圆,颜色为红色
cv.ellipse(img, points_list[0],size_list[0], 0, 0, 360, color, 5, 8);
#绘制第二个椭圆,竖椭圆
cv.ellipse(img,points_list[1], size_list[1], 90, 0, 360, color, 5, 8);
#绘制第三个椭圆,小椭圆(横)
cv.ellipse(img, points_list[2],size_list[2], 0, 0, 360, color, 5, 8);
cv.imshow("Result", img);
cv.waitKey (10000) # 显示 10000 ms 后消失
代码很简单,调用 ellipse() 函数画 3 个椭圆。运行工程,结果如下图所示:

相关文章