# setMouseCallback(winName,callback,userdata),其中callback可以改为其它
# callback(event,x,y,flags,userdata)需要与上面callback对应
event:表示鼠标事件类型的常量(
#define CV_EVENT_MOUSEMOVE 0 //滑动
#define CV_EVENT_LBUTTONDOWN 1 //左键点击
#define CV_EVENT_RBUTTONDOWN 2 //右键点击
#define CV_EVENT_MBUTTONDOWN 3 //中键点击
#define CV_EVENT_LBUTTONUP 4 //左键放开
#define CV_EVENT_RBUTTONUP 5 //右键放开
#define CV_EVENT_MBUTTONUP 6 //中键放开
#define CV_EVENT_LBUTTONDBLCLK 7 //左键双击
#define CV_EVENT_RBUTTONDBLCLK 8 //右键双击
#define CV_EVENT_MBUTTONDBLCLK 9 //中键双击
);
flags: 返回组合键数字
import cv2 as cv
import numpy as np
# 设置鼠标回调函数
def mouse_Callback(event, x, y, flags,userdata):
# if event == cv.EVENT_LBUTTONDOWN:
print(event, x, y, flags,userdata)
# 创建窗口
cv.namedWindow('mouse', cv.WINDOW_NORMAL)
cv.resizeWindow('mouse', 640, 360)
# 设置回调
cv.setMouseCallback('mouse', mouse_Callback,'123')
# 创建一个图片,(行高,宽度,rgb为3),类型为np.uint8,显示窗口和背景
img = np.zeros((360, 640, 3), dtype=np.uint8)
while True:
cv.imshow('mouse',img)
key = cv.waitKey(1)
if key & 0xFF == ord('q'):
break
cv.destroyAllWindows()