opencv简单绘图

"""
绘制各种几何形状、添加文字
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)

你可能感兴趣的:(总结)