美文网首页
OpenCV 绘制点线

OpenCV 绘制点线

作者: vcoolor | 来源:发表于2019-11-12 09:45 被阅读0次

1. 点和圆

利用 opencv 里自带的 circle() 函数绘制以一个点为圆心特定半径的圆,画点实际上就是画半径很小的实心圆
其函数的声明如下:

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:圆心坐标和半径的小数点位数
import numpy as np
import cv2
 
img = np.zeros((320, 320, 3), np.uint8) #生成一个空灰度图像
print img.shape # 输出:(480, 480, 3)

point_size = 1
point_color = (0, 0, 255) # BGR
thickness = 4 # 可以为 0 、4、8

# 要画的点的坐标
points_list = [(160, 160), (136, 160), (150, 200), (200, 180), (120, 150), (145, 180)]

for point in points_list:
    cv2.circle(img, point, point_size, point_color, thickness)

# 画圆,圆心为:(160, 160),半径为:60,颜色为:point_color,实心线
cv2.circle(img, (160, 160), 60, point_color, 0)

cv2.namedWindow("image")
cv2.imshow('image', img)
cv2.waitKey (10000) # 显示 10000 ms 即 10s 后消失
cv2.destroyAllWindows()

2. 直线

利用 OpenCV 自带的 line() 函数画直线
其函数声明如下:

cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]])
  • img:要画的圆所在的矩形或图像
  • pt1:直线起点
  • pt2:直线终点
  • color:线条颜色,如 (0, 0, 255) 红色,BGR
  • thickness:线条宽度
  • lineType:
    • 8 (or omitted) : 8-connected line
    • 4:4-connected line
    • CV_AA - antialiased line
  • shift:坐标点小数点位数
import numpy as np
import cv2
 
img = np.zeros((320, 320, 3), np.uint8) #生成一个空灰度图像
print img.shape # 输出:(320, 320, 3)

# 起点和终点的坐标
ptStart = (60, 60)
ptEnd = (260, 260)
point_color = (0, 255, 0) # BGR
thickness = 1 
lineType = 4
cv2.line(img, ptStart, ptEnd, point_color, thickness, lineType)

ptStart = (260, 60)
ptEnd = (60, 260)
point_color = (0, 0, 255) # BGR
thickness = 1
lineType = 8
cv2.line(img, ptStart, ptEnd, point_color, thickness, lineType)

cv2.namedWindow("image")
cv2.imshow('image', img)
cv2.waitKey (10000) # 显示 10000 ms 即 10s 后消失
cv2.destroyAllWindows()

thanks to Alan Wang's blog
Python 用 OpenCV 画点和圆 (2)
Python 用 OpenCV 画直线 (3)

相关文章

  • OpenCV 绘制点线

    1. 点和圆 利用 opencv 里自带的 circle() 函数绘制以一个点为圆心特定半径的圆,画点实际上就是画...

  • opencv基本画图

    目标 在本教程中,将学习如何: 使用OpenCV函数行()绘制一行 使用OpenCV函数椭圆()绘制椭圆 使用Op...

  • Opencv绘制多边形不显示

    Opencv绘制多边形不显示 如果图片是由torch.Tensor转换而来,直接使用Opencv进行多边形绘制(或...

  • 015 几何形状绘制

    几何形状绘制 绘制直线 绘制圆 绘制矩形 绘制椭圆 填充几何形状 OpenCV没有专门的填充方法,只是把绘制几何形...

  • 1.2 openCV 中的绘图函数

    学习使用OpenCV 绘制不同几何图形

  • opencv(4)鼠标操作

    学习opencv的setMouseCallBack()函数 鼠标点击绘制

  • OpenCV中利用鼠标事件动态绘制图形

    使用鼠标事件动态绘制 对于使用OpenCV绘制图形和文本,我们已经耳熟能详了。在本文中,我们将利用OpenCV中的...

  • 绘制模式

    除了在SDK中写死输入的点线面之外,常用的就是绘制模式,绘制模式中,点的绘制比较麻烦,线面的绘制比较简单。 1.点...

  • opencv 画图

    learning opencv 第6章第1题解决方案 前言 opencv提供了丰富的函数用以图形绘制,包括矩形,线...

  • opencv-python绘制图形

    参考: Drawing Functions in OpenCV cv2.line() 绘制直线 cv2.recta...

网友评论

      本文标题:OpenCV 绘制点线

      本文链接:https://www.haomeiwen.com/subject/xjrfictx.html