import numpy as np
import cv2 as cv
def draw_circle(event, x, y, flags, param):
if event == cv.EVENT_LBUTTONDBLCLK:
cv.circle(img, (x, y), 100, (255, 0, 0), -1)
img = np.zeros((512, 512, 3), np.uint8)
cv.namedWindow('image')
cv.setMouseCallback('image', draw_circle)
while (1):
cv.imshow('image', img)
if cv.waitKey(20) & 0xFF == 27:
break
cv.destroyAllWindows()
底下的while循环是必不可少的,表示每一次调用成功后,重新显示图像。搭配waitKey函数将处理过程界面持续显示,以使用鼠标回调函数。