📜  cv2 向图像添加圆圈 - Python (1)

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

在 Python 中使用 cv2 向图像添加圆圈

在图像处理中,向图像中添加不同类型的形状可以增强图像的可读性和表现力。其中圆圈是一个常见的形状之一,可以用于标注关键点或者制作图像特效。

在 Python 中,我们可以使用 OpenCV 库的 cv2 模块来实现向图像中添加圆圈的功能。本文将介绍如何使用 cv2 添加圆圈,并为你提供一些实用的代码示例和技巧。

安装 OpenCV 和 cv2

在开始前,需要先安装 OpenCV 库和 cv2 模块。你可以通过 pip 命令来安装:

pip install opencv-python
添加圆圈

我们可以使用 cv2.circle() 函数来向图像中添加圆圈。该函数的语法如下:

cv2.circle(image, center, radius, color, thickness)
  • image:要绘制圆圈的图像矩阵;
  • center:圆圈的中心坐标,可以是元组形式 (x,y),也可以是列表形式 [x,y];
  • radius:圆圈的半径;
  • color:圆圈的颜色,可以是 RGB 值或者一个标量;
  • thickness:圆圈的线宽,如果为负数则表示填充圆圈。

下面是一个用 cv2.circle() 函数添加圆圈的示例代码:

import cv2
import numpy as np

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

# 画一个红色的圆圈
cv2.circle(img, (256, 256), 50, (0, 0, 255), 2)

# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

上述代码会创建一张 512x512 的黑色图像,并向其中添加一个红色的圆圈,最终显示如下:

image1

添加多个圆圈

我们也可以在同一张图像中添加多个圆圈,只需要在使用 cv2.circle() 函数时多次调用即可。下面是一个向图像中添加多个圆圈的示例代码:

import cv2
import numpy as np

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

# 画三个圆圈,不同的颜色和线宽
cv2.circle(img, (100, 100), 50, (255, 0, 0), 2)
cv2.circle(img, (256, 256), 50, (0, 255, 0), 3)
cv2.circle(img, (400, 400), 50, (0, 0, 255), -1)

# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

上述代码会创建一张 512x512 的黑色图像,并向其中添加三个圆圈,最终显示如下:

image2

总结

使用 cv2.circle() 函数可以很方便地向图像中添加圆圈。在实际应用中,我们也可以根据需要通过调整圆圈的参数来实现不同的效果,例如填充圆圈、改变颜色和线宽等。

同时,还有其他的 cv2 函数可以帮助我们实现更多类型的形状,例如矩形、椭圆、直线等。如果你对图像处理感兴趣,可以继续深入学习 OpenCV 库的相关知识。