1.画矩形
cv2.rectangle(img, point1, point2, color, thickness=0)
- img:需要处理的图像。
- point1:矩形左上角的点的坐标,必须是一个元组类型。
- point2:矩形右下角的点的坐标,必须是一个元组类型。
- color:线的颜色,必须是一个元组类型。
- thickness:线的宽度。
画一个每时每刻都在变化颜色的矩形图形。
- import cv2
- import numpy as np
-
- img = np.zeros((512, 512, 3), np.uint8) # 创建一个黑色的画布,大小为512像素x512像素,通道数为3
- flag = 1 # 跳出最外层的循环
- while flag:
- for a in range(0, 256):
- cv2.rectangle(img, (350, 0), (500, 128), (a, 255 - a, 255 - a), 3)
- cv2.rectangle(img, (0, 0), (150, 128), (255 - a, 255 - a, a), 3)
- cv2.rectangle(img, (0, 350), (150, 478), (a, 255 - a, 255 - a), 3)
- cv2.rectangle(img, (350, 350), (500, 478), (255 - a, 255 - a, a), 3)
- cv2.rectangle(img, (165, 180), (315, 308), (a, 255 - a, a), 3)
- cv2.namedWindow('image', cv2.WINDOW_NORMAL)
- cv2.resizeWindow('image', (1000, 1000)) # 调整显示屏幕的大小
- cv2.imshow('image', img)
-
- if cv2.waitKey(1) == ord('q'):
- flag -= 1
- break # 跳出 for 循环
- cv2.destroyAllWindows()
2.画多边形
cv2.polylines(img, pts, isClosed, color, thickness=0)
- img:要画的图像。
- pts:点的集合,以列表的形式填入。
- isClosed:多边形是否闭合,如果为False则为一个不闭合的图形,如果为True则为一个闭合的图形。
- color:线的颜色。
- thickness:线的宽度。
注意:点的格式必须是 np.int32。