line(img,开始点,结束点,颜色,线宽,线型,…)
一般线型用默认的,线型的值有-1,4,8,12,16
需要注意的是,画线的开始点与结束点是(x,y)型,而创建图片是(y,x)
import cv2
import numpy as np
img = np.zeros((480,640,3),np.uint8)
#画线,坐标点为(x,y)
cv2.line(img, (10,20),(300,400),(0,0,255),5,16)
cv2.imshow('img',img)
cv2.waitKey(0)
rectangle(img,开始点,结束点,颜色,线宽,线型,…) 绘制矩形函数
circle(img, 圆心点,半径, 颜色) 绘制圆函数,圆心点坐标要整型
ellipse
(img, (中心点), (长的一半,宽的一半),角度,从哪个角度开始,到哪个角度结束,(颜色),线型,…)
特别注意,0度是 从最右侧开始,顺时针往下计算角度
polylines(img, 【点集】, 是否闭环(True or False), (颜色)):绘制函数
fillPoly(img, [点集], (填充颜色)):颜色填充函数
特别注意的是点集需要利用np.array([(1,2),(5,6),(9,10)], np.int32),表示点的类型必须是int32
putText(img, ‘字符串’, (起始点), 字体, 字号, (颜色) )
关于字体字号的选择可以去查官方文档
以下是应用
import cv2
import numpy as np
img = np.zeros((480,640,3),np.uint8)
#画线,坐标点为(x,y)
#cv2.line(img, (10,20),(300,400),(0,0,255),5,16)
#画矩形
#cv2.rectangle(img, (10,10), (100,100),(0,0,255),-1)#线宽如果是负值,那就是在矩形里面填充
#画圆
cv2.circle(img,(320,240),100,(0,0,255))
cv2.circle(img,(320,240),2,(0,0,255),-1)
#画椭圆
#度数是按顺时针计算,0度是从右侧开始
cv2.ellipse(img, (320,240), (100,50), 90, 0, 90, (0, 0, 255),-1)
#画多边形
pts = np.array([(300,10), (150,100), (450,100)], np.int32)
cv2.polylines(img, [pts], True, (0,0,225))
cv2.fillPoly(img, [pts], (255,0,0)) #填充api
#绘制文本
cv2.putText(img, 'HELLO WORLD!', (10,400), 2, 1, (0,255,0) )
cv2.imshow('img',img)
cv2.waitKey(0)