本文记载opencv的绘制功能。
绘制基本线条图形
import numpy as np
import cv2
img = np.zeros((512,512,3), np.uint8)
#np.zeros()有两个参数,一个是创建的图片矩阵大小,另一个是数据类型
#所谓大小,512,512是指图片占像素为512x512,3则是指BGR三种颜色
#uint8无符号整形8位,因为每种颜色都是0到255
#ay=np.zeros((2,2,3))
#print(ay)
img = cv2.line(img,(0,0),(511,511),(255,0,0),5)#画线,5为宽度
img = cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)
img = cv2.circle(img,(447,63), 63, (0,0,255), -1)#【2】为圆心,【3】为半径,-1表示填充
img = cv2.ellipse(img,(256,256),(100,50),0,0,270,255,-1)#【3】为长轴和短轴,【4】为逆时针旋转角度,【5】【6】为相对于中心点顺时针极坐标角度开始结束
pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
#pts = pts.reshape((-1,1,2))#等于-1的话,那么Numpy会根据剩下的维度计算出数组的另外一个shape属性值。
img = cv2.polylines(img,[pts],True,(0,255,255),2)#【3】是否闭合
font = cv2.FONT_HERSHEY_SIMPLEX#https://docs.opencv.org/2.4/modules/core/doc/drawing_functions.html?highlight=puttext#initfont
cv2.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2,cv2.LINE_AA)#【3】左上角坐标,【5】字体大小,【6】颜色,【7】字体粗细,[8]表示抗锯齿
cv2.imshow("hello",img)
while cv2.waitKey(0)!=27:#esc键退出
pass
cv2.destroyAllWindows()