📜  Python OpenCV | cv2.circle() 方法(1)

📅  最后修改于: 2023-12-03 15:04:06.837000             🧑  作者: Mango

Python OpenCV | cv2.circle()方法介绍

概述

cv2.circle()是OpenCV的一个函数,它用来在给定的图像上画一个圆形。该函数需要以下几个参数:

cv2.circle(img, center, radius, color, thickness)
  • img: 可以是图像,也可以是空白画布。
  • center: 圆心的坐标。输入一个元组,例如(100,100)。
  • radius: 圆的半径。
  • color: 圆的颜色。输入一个元组,例如(0,255,0)代表绿色。
  • thickness: 圆边的线条宽度。如果是-1则表示填充整个圆。
用法

cv2.circle()的返回值为None,所以它不会对图像素材进行修改。通常情况下,该方法用来在空白画布上绘制一些形状。

下面是一个简单的例子,它以黑色为背景,在画布上绘制了一个红色的圆:

import cv2
import numpy as np

img = np.zeros((512,512,3), np.uint8) # 创建一个全黑图像
cv2.circle(img,(256,256), 100, (0,0,255), -1) # 绘制红色圆形
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果如下: circle

注意事项
  • circle()函数的第一个参数必须是图像。
  • 列表和元组都可以被作为参数传递。
  • 颜色代码为BGR,不是RGB。可以使用cv2.cvtColor()转换为RGB。
  • cv2.waitKey()等待键盘输入,等待时间可以由参数控制。0表示持续等待,直到有按键被按下。
  • cv2.destroyAllWindows()关闭所有窗口。
代码演示

下面是一个圆形演示的完整代码片段:

import cv2
import numpy as np

# 创建一个500×500的黑色图像
img = np.zeros((500, 500, 3), np.uint8)

# 绘制一个黄色圆形,线宽为3
circle_img = cv2.circle(img, (250, 250), 100, (0, 255, 255), 3)
cv2.imshow("Circle", circle_img)

# 持续等待按键,关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果如下:

image.png