该内容不需要太多讲解,上代码,参数都写在代码上。
import numpy as np
import cv2 as cv
#创建一张白图 利用纯白图进行练习
def creat_black_image():
return np.ones((512,512,3),np.uint8)*255
def draw(image):
#画直线 1:原图 2:起始坐标 3:终止坐标 4:色彩空间值(颜色) 5:线条粗度
cv.line(image,(0,0),(206,206),(255,0,0),5)
#画矩形 1:原图 2:起始坐标(矩形左上角) 3:终止坐标(矩形右下角) 4:颜色(取值与色彩空间) 5:线条粗度
cv.rectangle(image,(384,0),(510,128),(0,255,0),3)
#画圆 1:原图 2:圆心 3:半径 4:颜色(取值与色彩空间) 5:线条粗度 若为负一表示填充
cv.circle(image,(447,63),63,(0, 0,255), -1)
#画椭圆 1:原图 2:椭圆中心 3:(长径,短径) 4:图形顺着顺时针旋转的角度 5:开始绘图的角度 6:终止绘图的角度,若为0~0或是0~360则画满 7:颜色 8:线条粗度若为-1则画满
cv.ellipse(image,(256,256),(200,50),30,0,360,100,-1)
#画多边形 传入一个np.array()
pts=np.array([[10,5],[20,30],[70,20],[50,10]],np.int32)
print(pts)
#reshape调整为维度
#pts=pts.reshape(4,1,2)
print(pts)
#该函数本身应该是为了绘制多条线段的 若第三个参数为True,则绘制一个闭合的图形否则若为False为不闭合。最后还有两个参数为线型与精度
cv.polylines(image,[pts],True,(0,255,255),2)
#在图中添加文字 1:原图 2:添加的字幕 3:绘制的为止 4:字体 5:可理解为字间间距 6:字体大小
cv.putText(image,'opencv',(10,500),cv.FONT_HERSHEY_DUPLEX,3,(0,0,255 ),10)
cv.imshow('test_1',image)
cv.waitKey(0)
cv.destroyAllWindows()
src=creat_black_image()
draw(src)
字体如下: