简介
在这篇文章中,我们将通过使用cv2.circle()函数在OpenCV Python中绘制圆圈的教程。你可能需要在OpenCV中画圆,以便在图像中标记一个物体或用于其他创造性目的。我们将向你解释cv2.circle()的语法和一些例子,以便让初学者更好地理解。
OpenCV Python中的圆:cv2.circle()
通过使用cv2.circle()函数,我们可以很容易地在OpenCV python中画圆。让我们看看这个函数的语法如下
语法
cv2.circle(img, center, radius, color, thickness)
- img -它是要画圆的图像
- center -它是圆心的坐标
- radius- 它是圆的半径
- color -它是圆的颜色,以RGB表示
- thickness -它是圆线的厚度
它不返回任何东西,并在原始图像上原地画圆,这意味着圆被永久地画在图像上。
cv2.circle()在Python OpenCV中的例子
导入所需的库
在开始举例之前,让我们首先导入所需的库,如下图所示
在[1]中:
import cv2
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
创建空图像的实用函数
我们将创建一个实用的函数来创建一个大小为512×512的空图像和3个颜色通道,我们将在上面画圆作为例子。
在[2]中:
def generate_empty_image():
return np.ones(shape=(512,512,3), dtype=np.int16)
让我们通过下面的调用看到这个函数的作用。
在[3]中:
sample_img = generate_empty_image()
plt.imshow(sample_img)
输出[3]:
<matplotlib.image.AxesImage at 0x1e14d0dc9b0>。

例子-1:用cv2.circle()画简单的圆
在第一个例子中,我们将在空白图像上画一个简单的圆,其线条为红色,线条粗细为10。
我们生成空白图像,并将其与圆的中心坐标、圆的半径、红色的RGB值(255,0,0)和线条粗细=10一起传递给cv2.circle()。
在[4]:
image1 = generate_empty_image()
cv2.circle(img=image1, center = (250,250), radius =100, color =(255,0,0), thickness=10)
plt.imshow(image1)
输出[4]:
<matplotlib.image.AxesImage at 0x249bf69ad68>。

例子-2:用cv2.circle()画填充圆
在这个例子中,我们将在空白图像上画一个填充圆。填充的颜色是绿色。
在OpenCV中,我们使用cv2.circle()函数中的厚度=-1来填充圆。
在[5]中:
image2 = generate_empty_image()
cv2.circle(img=image2, center = (250,250), radius =100, color =(0,255,0), thickness=-1)
plt.imshow(image2)
输出[5]:
<matplotlib.image.AxesImage at 0x249bf6f1dd8>。

例子 - 3 : 用cv2.circle()在图像上画圆
在这个例子中,我们将在一个红色的猫图像上画一个圆。我们手动计算了圆心和半径的值,以便在猫的脸上正确地画出圆。
In[6]:
image3 = cv2.imread('cat.jpg')
cv2.circle(img=image3, center = (700,400), radius =350, color =(255,0,0), thickness=10)
plt.imshow(image3)
输出[6]:
<matplotlib.image.AxesImage at 0x249c2dde550>。

总结
希望你觉得这个关于在OpenCV中画圆的快速教程很有帮助。我们涵盖了cv2 circle()函数的语法和各种例子,以便初学者更好地理解。
参考资料 -OpenCV文档