Python-OpenCV (2): 画点和圆

你的名字 2023-06-13 09:17 61阅读 0赞

利用 opencv 里自带的 circle() 函数可以绘制以一个点为圆心特定半径的圆,其函数的声明如下:

  1. cv2.circle(img, center, radius, color[, thickness[, lineType[, shift]]])

函数参数含义如下:

  • img:要画的圆所在的矩形或图像
  • center:圆心坐标,如 (100, 100)
  • radius:半径,如 10
  • color:圆边框颜色,如 (0, 0, 255) 红色,BGR
  • thickness:正值表示圆边框宽度. 负值表示画一个填充圆形
  • lineType:圆边框线型,可为 0,4,8
  • shift:圆心坐标和半径的小数点位数

画点实际上就是画半径很小的实心圆,画点和画圆的完整代码如下:

  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3. import numpy as np
  4. import cv2 as cv
  5. img = np.zeros((320, 320, 3), np.uint8) #生成一个空灰度图像
  6. print img.shape # 输出:(480, 480, 3)
  7. point_size = 1
  8. point_color = (0, 0, 255) # BGR
  9. thickness = 4 # 可以为 0 、4、8
  10. # 要画的点的坐标
  11. points_list = [(160, 160), (136, 160), (150, 200), (200, 180), (120, 150), (145, 180)]
  12. for point in points_list:
  13. cv.circle(img, point, point_size, point_color, thickness)
  14. # 画圆,圆心为:(160, 160),半径为:60,颜色为:point_color,实心线
  15. cv.circle(img, (160, 160), 60, point_color, 0)
  16. cv.namedWindow("image")
  17. cv.imshow('image', img)
  18. cv.waitKey (10000) # 显示 10000 ms 即 10s 后消失
  19. cv.destroyAllWindows()

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE1MjAxODE_size_10_color_FFFFFF_t_70

发表评论

表情:
评论列表 (有 0 条评论,61人围观)

还没有评论,来说两句吧...

相关阅读