一起来学opencv(五):图形绘制

1,798 阅读2分钟

该案例基于opencv4.x版本编写
代码地址:github.com/gudepeng/st…

1.图形绘制

import numpy as np
import cv2

# 创建一张黑色的图像
img = np.zeros((500, 500, 3), np.uint8)
# 画线
img = cv2.line(img, (0, 0), (500, 500), (125, 125, 125), 2)
# 画矩形
img = cv2.rectangle(img, (100, 100), (200, 200), (0, 255, 0), 2)
# 画圆
img = cv2.circle(img, (250, 250), 50, (0, 0, 255), -1)
# 画椭圆
img = cv2.ellipse(img, (250, 250), (100, 50), 0, 0, 360, (0, 255, 255), -1)
# 画多边形
pts = np.array([[100, 100], [200, 300], [400, 500]], np.int32)
pts = pts.reshape((-1, 1, 2))
img = cv2.polylines(img, [pts], True, (255, 0, 255))
#画填充多边形
pts1 = np.array([[0, 00], [100, 200], [200, 200]], np.int32)
pts1= pts1.reshape((-1, 1, 2))
img = cv2.fillPoly(img, [np.array(pts1, np.int32)], (255, 255, 255))

# 画文字
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img, 'Hello OpenCV', (0, 250), font, 1, (255, 255, 255), 2, cv2.LINE_AA)

cv2.imshow('draw', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

画线:line(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)

  • img:输入图像
  • pt1:线的启点
  • pt2:线的终点
  • color:线的颜色

画矩形:rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)

  • img:输入图像
  • pt1:矩形的左上点
  • pt2:矩形的右下点
  • color:矩形边框的颜色

画圆:circle(img, center, radius, color, thickness=None, lineType=None, shift=None)

  • img:输入图像
  • center:圆心坐标
  • radius:圆的半径
  • color:圆边框的颜色

画椭圆:ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness=None, lineType=None, shift=None)

  • img:输入图像
  • center:椭圆心坐标
  • axes:椭圆主轴尺寸的一半
  • angle:椭圆旋转角,以度为单位
  • startAngle:椭圆弧的起始角
  • endAngle:椭圆弧的结束角
  • color:椭圆边框的颜色

画多边形:polylines(img, pts, isClosed, color, thickness=None, lineType=None, shift=None)

  • img:输入图像
  • pst:多边形的定点集合
  • isClosed:是否闭合
  • color:多边形边框的颜色

画填充多边形:fillPoly(img, pts, color, lineType=None, shift=None, offset=None)

  • img:输入图像
  • pst:多边形的定点集合
  • color:多边形填充颜色

画文字:putText(img, text, org, fontFace, fontScale, color, thickness=None, lineType=None, bottomLeftOrigin=None)

  • img:输入图
  • text:输入内容
  • org:文字开始位置
  • fontFace:字体
  • fontScale:字体粗细
  • color:字体颜色