213. 绘制圆形

12. 绘制图像索引

一、绘制圆形

  • 函数 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

注意事项:

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

二、例程

  • A4.4:在图像上绘制圆形
import cv2
import numpy as np
from matplotlib import pyplot as plt

# 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)
    cv2.circle(img, (cx, cy), r, color, -1)
    cv2.circle(img, center, r, 255)
    cv2.circle(img, (600,400), r, color, 5)

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

三、资料

youcans_的博客:
https://blog.csdn.net/youcans/article/details/125459647
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容