OpenCV 中绘制圆

Ammar Ali 2024年2月15日
OpenCV 中绘制圆

本教程将讨论在 Python 中使用 OpenCV 的 circle() 函数在图像上绘制圆圈。

在 Python 中使用 OpenCV 的 circle() 函数在图像上绘制圆圈

我们可以使用 OpenCV 的 circle() 函数在图像上绘制具有我们想要的位置、半径、颜色、粗细和线型的圆圈。

circle() 函数的第一个参数是我们要绘制圆的图像。第二个参数是圆的中心点,它的值应该是一个包含我们要用作圆心的像素的 x 和 y 轴值的点。

该位置从图像的左上角开始。第三个参数是圆的半径,它的值可以是任意整数。第四个参数是圆的颜色,它应该是一个 BGR 三元组值,如红色的 (0,0,255)

上面提到的参数是强制性的,如果缺少其中一个,就会出错。

例如,让我们使用 OpenCV 的 imread() 函数读取图像,然后使用 circle() 函数在图像上绘制圆圈并使用 OpenCV 的 imshow() 函数显示它。请参阅下面的代码。

import cv2

img = cv2.imread("cat.jpg")
imgWC = cv2.circle(img, (110, 110), 100, (0, 0, 255))

cv2.imshow("Image With Circle", imgWC)
cv2.waitKey(0)

输出:

图像上的圆圈

我们可以更改其他三个可选参数。可选参数具有将使用的默认值。

假设我们没有为可选参数定义值。第一个可选参数是圆的厚度,我们可以将其设置为任何整数。

第二个可选参数是线型或样式,默认设置为 cv2.LINE_8。第三个可选参数是我们想要用作中心和半径值协调的小数位的移位值。

例如,让我们将可选参数(如粗细)更改为 10,将线型更改为 cv2.LINE_AA。请参阅下面的代码。

import cv2

img = cv2.imread("cat.jpg")
imgWC = cv2.circle(img, (110, 110), 100, (0, 0, 255), 10, cv2.LINE_AA)

cv2.imshow("Image With Circle", imgWC)
cv2.waitKey(0)

输出:

圆的可选参数

如果我们将圆形厚度设置为负值,它将用颜色填充圆形区域。

还有其他函数可用于不同的形状,例如 rectangle() 在图像上绘制矩形,line() 绘制一条线,ellipse() 绘制椭圆,以及 putText() 将文字放在图像上。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - Python OpenCV