【OpenCV 例程200篇】213. 绘制圆形

OpenCV 例程200篇 总目录


【youcans 的 OpenCV 例程200篇】213. 绘制圆形

7.1 绘图函数基本参数

OpenCV提供了绘图功能,可以在图像上绘制直线、矩形、圆、椭圆等各种几何图形。


7.3 绘制圆形

函数原型:

函数 cv.circle() 用来在图像上绘制圆形。

cv.circle(img, center, radius, color[, thickness=1, lineType=LINE_8, shift=0]) → img

参数说明:

  • img:输入输出图像,允许单通道灰度图像或多通道彩色图像
  • center:圆心点的坐标,(x, y) 格式的元组
  • radius:圆的半径,整数
  • color:绘图线条的颜色,(b,g,r) 格式的元组,或者表示灰度值的标量
  • thickness:绘制矩形的线宽,默认值 1px,负数表示矩形内部填充
  • lineType:绘制线段的线性,默认为 LINE_8
    • cv.LINE_4:4 邻接线型
    • cv.LINE_8:8 邻接线型
    • cv.LINE_AA:抗锯齿线型,图像更平滑
  • shift:点坐标的小数位数,默认为 0

注意事项:

  1. 绘图操作会直接对传入的图像 img 进行修改,是否接受函数返回值都可以。如果要保持输入图像不变则要用 img.copy() 进行复制。
  2. 如果绘制的圆超出了图像边界,则由图像边界剪裁,即只绘制图像边界内的部分。
  3. 在彩色图像上绘图,线条颜色 color 可以元组 (b,g,r) 表示,如 (0,0,255) 表示红色;也可以是标量 b,但并不是表示灰度线条,而是表示颜色 (b,0,0)。
  4. 在单通道的灰度图像上只能绘制灰度线条,不能绘制彩色线条。但是,线条颜色 color 可以是标量 b,也可以是元组 (b,g,r),都会被解释为灰度值 b。元组中的后两个通道的参数是无效的。

例程 A4.4:在图像上绘制圆形

    # A4.4 在图像上绘制圆形
    img = np.ones((400, 600, 3), np.uint8)*192

    center = (0, 0)  # 圆心坐标
    cx, cy = 300, 200  # 圆心坐标
    for r in range(200, 0, -20):
        color = (r, r, 255-r)
        cv.circle(img, (cx, cy), r, color, -1)
        cv.circle(img, center, r, 255)
        cv.circle(img, (600,400), r, color, 5)

    plt.figure(figsize=(6, 4))
    plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2RGB))
    plt.show()

在这里插入图片描述



【本节完】

版权声明:
参考文献: Use the Photoshop Levels adjustment (adobe.com)
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/125432101)
Copyright 2022 youcans, XUPT
Crated:2022-6-20
欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中
欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中

210. 绘制直线也会有这么多坑?
211. 绘制垂直矩形
212. 绘制倾斜的矩形
213. 绘制圆形

猜你喜欢

转载自blog.csdn.net/youcans/article/details/125459647