OpenCV circle():绘制圆形(附带实例)
全局函数 circle() 用来绘制或填充一个给定圆心和半径的圆,该函数声明如下:
下面看一个实例,画 3 个圆圈:
运行工程,结果如下图所示:
cv.circle(img, center, radius, color[, thickness[, lineType[, shift]]]) -> img各个参数的含义如下:
- img 表示输入的图像(圆画在这个图像上);
- center 表示圆心坐标;
- radius 表示圆的半径;
- color 表示圆的颜色,是 BGR 形式,例如蓝色为 Scalar(255,0,0);
- thickness 如果是正数,就表示组成圆的线条的粗细程度,否则表示圆是否被填充;
- lineType 表示线的类型;
- shift 表示圆心坐标点和半径值的小数点位数。
下面看一个实例,画 3 个圆圈:
import numpy as np import cv2 as cv img = cv.imread("test.jpg") point_size = 10 point_color = (0, 0, 255) # BGR thickness = -1 # 定义2个圆心的点的坐标 points_list = [(16, 16), (35, 40)] for point in points_list: cv.circle(img, point, point_size, point_color, thickness) thickness = 4 # 画圆,圆心为(60, 60),半径为60,颜色为point_color,实心线 cv.circle(img, (60, 60), 60, point_color, 0) cv.namedWindow("image") cv.imshow('image', img) cv.waitKey (10000) # 显示 10000 ms后消失 cv.destroyAllWindows()首先读取图片 test.jpg;然后在 for 循环中,第一次画实心圆(thickness 是 −1),第二次画空心圆(thickness 是 4),并且组成圆的线条的粗细程度是 4,第三次画一个半径是 60 的圆。所有圆都是在图片 test.jpg 上画的。
运行工程,结果如下图所示:
