绘制同心圆是计算机视觉中常见的任务,可以使用OpenCV通过简单的代码实现。以下是绘制两个同心圆的示例代码:
import cv2
# 创建一个黑色的图像
img = np.zeros((512,512,3), np.uint8)
# 确定两个圆的中心坐标与半径
center1 = (256, 256)
radius1 = 100
center2 = (256, 256)
radius2 = 50
# 绘制大圆
cv2.circle(img, center1, radius1, (0, 0, 255), 3)
# 绘制小圆
cv2.circle(img, center2, radius2, (0, 255, 0), -1)
# 显示图像
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
上述代码使用了cv2.circle()
方法创建了两个圆。这个方法使用的参数包括:
- 图像对象,即前面创建的黑色图像
- 圆心坐标
- 半径
- 颜色(BGR通道)
- 线条粗细或-1表示实心圆
在上述代码中,第一次调用cv2.circle()
方法创建了一个直径为200像素、线条粗细为3像素的红色圆,圆心坐标为(256,256)。第二次调用cv2.circle()
方法创建了一个直径为100像素的绿色实心圆。
以下是绘制五个同心圆的示例代码:
import cv2
# 创建一个黑色的图像
img = np.zeros((512,512,3), np.uint8)
# 确定圆的中心坐标与半径
center = (256, 256)
radius = 25
# 绘制五个同心圆
for i in range(5):
cv2.circle(img, center, radius*(i+1), (0, 0, 255), 3)
# 显示图像
cv2.imshow("image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
上述代码使用for
循环绘制了五个半径依次递增的圆。在每一次循环中,都创建了一个新的圆心坐标相同的圆。这个新圆的半径通过乘以索引来递增五个不同的值。每个圆的线条粗细均为3像素,颜色为红色。
以上是OpenCV绘制同心圆的两个示例。在这两个示例中,cv2.circle()
方法的每个参数都有详细的解释。这种方法可以自定义不同的半径、线条粗细和颜色等属性,因此可以用于许多不同的计算机视觉任务。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:OpenCV 绘制同心圆的示例代码 - Python技术站