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 上画的。运行工程,结果如下图所示:

ICP备案:
公安联网备案: