""" 绘制各种几何形状、添加文字 OpenCV函数:cv2.line(), cv2.circle(), cv2.rectangle(), cv2.ellipse(), cv2.putText() """ import cv2 import numpy as np import matplotlib.pyplot as plt # 创建一副黑色的图片 img = np.zeros((512, 512, 3), np.uint8) # 画一条线宽为5的蓝色直线,参数2:起点,参数3:终点 #cv2.line(img, (0, 0), (512, 512), (255, 0, 0), 5) #画矩形,第一个参数为img 对象,第二个为左上角,第三个为右下角,第四个为 rgb(),第五个为线条的宽度 cv2.rectangle(img,(200,100),(300,200),(255,255,255,150),10) #画圆需要指定圆心和半径,注意下面的例子中线宽=-1代表填充: cv2.circle(img,(100,100),50,(145,69,210),-1) """ 画椭圆需要的参数比较多,请对照后面的代码理解这几个参数: 参数2:椭圆中心(x,y) 参数3:x/y轴的长度 参数4:angle--椭圆的旋转角度 参数5:startAngle--椭圆的起始角度 参数6:endAngle--椭圆的结束角度 """ cv2.ellipse(img,(100,300),(100,50),0,0,360,(255,0,0),-1) """ 画多边形 画多边形需要指定一系列多边形的顶点坐标,相当于从第一个点到第二个点画直线,再从第二个点到第三个点画直线.... OpenCV中需要先将多边形的顶点坐标需要变成顶点数×1×2维的矩阵,再来绘制: """ # 定义四个顶点坐标 pts = np.array([[10, 5], [50, 10], [70, 20], [20, 30]], np.int32) # 顶点个数:4,矩阵变成4*1*2维 pts = pts.reshape((-1, 1, 2)) cv2.polylines(img, [pts], True, (0, 255, 255)) # 添加文字 font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(img, 'ex2tron', (10, 500), font,4, (255, 255, 255), 2, lineType=cv2.LINE_AA) cv2.imshow('img', img) cv2.waitKey(0)