代码
以下代码中的参数含义:
-
img:绘制图形的图像
-
color:形状的颜色,以RGB为例(255,0,0)代表蓝色。对于灰度图像来说,只需要传入灰度值即可
-
thickness:线条的粗细,如果闭合图形设置为-1,则代表这个图像将会被填充。默认为1
-
linetype:线条的类型,8链接,抗锯齿等等。默认为8链接。cv2.LINE_AA为抗锯齿。
1.画线
img = np.zeros((512, 512, 3), np.uint8)
cv2.line(img, (0, 0), (511, 511), (255, 0, 0), 5)
参数1.图像布 2.起始点 3.结束点 4.颜色 5.线条粗细
2.画矩形
cv2.rectangle(img, (384, 0), (510, 128), (0, 255, 0), 3)
参数1.图像布 2.起始点(左上) 3.结束点(右下) 4.颜色 5.线条粗细
3.画圆
cv2.circle(img, (447, 63), 63, (0, 0, 255), -1)
参数1.图像布 2.圆心 3.R 4.颜色 5.线条粗细
4.多边形
pts = np.array([[10 , 5] , [20 , 30] , [70 , 20] , [50 , 10]] , np.int32)
pts = pts.reshape((-1 , 1 , 2))
cv2.polylines(img , [pts] , True , (255 , 255 , 255))
将各个顶点写入数组,其中数据类型必须为int32。我们画的是一个四个顶点的多边形
PS.第三个参数是FALSE的话我们的多边形是不闭合的(首尾不相连)
5.展示
winname = 'example1'
cv2.namedWindow(winname)
cv2.imshow(winname, img)
cv2.waitKey(0)
cv2.destroyAllWindows()