# 重要API:
----------------绘制图像------------------------
直线绘制:cv.line(img,start,end,color,线宽,锯齿度...)
img:在哪个图像上画
start、end: 指定线开始位置和结束位置
颜色、线宽、线型
shift:坐标缩放比例
矩形绘制:rectangle(img,start,end,color,线宽)线宽为-1则表示填充
圆形绘制:circle(img,圆中心,半径R,color,线宽)
椭圆绘制:ellipse(img,中心点,长宽的一半,角度,从哪个角度开始,到哪个角度结束...)
多边形的绘制:polylines(img,点集,是否闭环,color,...)
填充多边形:cv.fillPoly(img,[pts],color)
----------------绘制文本------------------------
画文本:cv.putText(img,text,起始点,字体,字号,颜色,线宽)
import cv2 as cv
import numpy as np
img = np.zeros((480,640,3), dtype=np.uint8)
# 直线绘制
# cv.line(img,start,end,color,线宽,锯齿度)
cv.line(img,(10,20),(10,420),(0,0,255),10)
# 矩形的绘制
cv.rectangle(img,(30,10),(60,100),(0,255,0),-1)
# 圆圈的绘制
# cv.circle(img,(start_x,start_y),半径R,颜色,线厚度,-1为填满)
cv.circle(img,(320,240),100,(255,0,0))
cv.circle(img,(320,240),10,(255,0,0),-1)
# 椭圆的绘制
# ellipse(img,中心点,(椭圆半径长,椭圆半径宽),角度,起始度数,终点度数,color),度数按顺时针计算,角度可以理解为整个椭圆旋转的度数
cv.ellipse(img,(320,240),(100,50),90,45,90,(0,0,255),-1)
#----------------------------------------------------------------------
# 点集的创建
pts = np.array([(300,10),(150,100),(450,100)], dtype=np.int32)
# 多边形绘制
cv.polylines(img,[pts],True,(255,0,0))
# 填充多边形
cv.fillPoly(img,[pts],(0,255,0))
#------------------------------------------------------------------
# 绘制文本
# cv.putText(img,text,起始点,字体,字号,颜色,线宽)
cv.putText(img,'Hello,World!',(20,400),cv.FONT_HERSHEY_PLAIN,3,(255,0,0),5)
cv.imshow('draw',img)
cv.waitKey(0)
cv.destroyAllWindows()