import cv2
import numpy as np
import random
# 画圆
def draw_circle(event, x, y, flags, param):
# 鼠标左键双击
if event == cv2.EVENT_LBUTTONDOWN:
# 每次点击,都是一种 新颜色
r = random.randint(0, 255)
g = random.randint(0, 255)
b = random.randint(0, 255)
cv2.circle(img, (x, y), 100, (b, g, r), -1)
img = np.zeros((600, 1000, 3), np.uint8)
cv2.namedWindow('draw circles')
# 鼠标点击的位置 = 传入函数的圆心
cv2.setMouseCallback('draw circles', draw_circle)
while True:
# 每次鼠标点击事件都会触发draw_circle,而函数体内会改变img
cv2.imshow('draw circles', img)
if cv2.waitKey(1) & 0xFF == ord('q'): # 按q键退出
break
cv2.destroyAllWindows()