代码:
import cv2 as cv
import numpy as np
img = np.zeros((512, 512, 3), dtype=np.uint8)
# 绘制直线,cv.line(参数1,参数2,参数3,参数4,参数5)
# 参数1:被绘制的图像、参数2:起点、参数3:终点、参数4:颜色、参数5:线宽
line = cv.line(img, (0, 0), (511, 511), (0, 0, 255), 3)
# 绘制园,cv.circle(参数1,参数2,参数3,参数4,参数5)
# 参数1:被绘制的图像、参数2:圆心、参数3:半径、参数4:颜色、参数5:线宽
circle = cv.circle(img, (256, 256), 50, (0, 255, 255), -1)
# 绘制矩形,cv.rectangle(参数1,参数2,参数3,参数4,参数5)
# 参数1:被绘制的图像,参数2:起点,参数3:终点,参数4:颜色,参数5:线宽
rectangle = cv.rectangle(img, (200, 200), (312, 312), (255, 0, 0), 3)
# 绘制椭圆,cv.ellipse(参数1,参数2,参数3,参数4,参数5,参数6,参数7,参数8)
# 参数1:被绘制的图像,参数2:椭圆的中心,参数3:长轴长和短轴长,参数4:椭圆沿逆时针方向旋转的角度,参数5、参数6:椭圆的起点和终点的角度,参数8:线宽
ellipse = cv.ellipse(img, (256, 256), (100,50), 0, 0, 360, (255, 255, 0), 3)
# 绘制多边形即绘制多条线段
# 设置连接点
pts = np.array([[0, 100], [100, 00], [200, 100], [150, 200], [50, 200]], np.int32)
pts = pts.reshape((-1, 1, 2))
# cv.ploylines(参数1,参数2,参数3,参数4, 参数5)
# 参数1:被绘制的图像,参数2:位置点,参数3:True封闭/False不封闭,参数4:颜色,参数5:线宽
cv.polylines(img, [pts], True, (0, 255, 255), 3)
cv.imshow('img', img)
cv.waitKey(0)
结果:
注:当封闭图案线宽参数为-1时,则用线条颜色填充