该案例基于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:字体颜色