1、控制鼠标
---自定义鼠标回调函数,如以下代码中的mouse_callback(event,x,y,flags,underdata):
event为鼠标事件,x,y是坐标,flags为组合键,underdata为参数
---setMouseCallback('mouse',mouse_callback,'123') 调用回调函数,参数为窗口名称,回调函数名称,参数
---创建显示的窗口,鼠标的操作在此显示窗口中进行,np.zeros((360,640,3),np.uint8)
代码:
import cv2
import numpy as np
#创建回调函数,拿到鼠标的事件
def mouse_callback(event,x,y,flags,underdata):
print(event,x,y,flags,underdata)
#创建窗口
cv2.namedWindow('mouse',cv2.WINDOW_NORMAL)
cv2.resizeWindow('mouse',640,480)
#设置鼠标回调
cv2.setMouseCallback('mouse',mouse_callback,'123')
#显示窗口和背景
img = np.zeros((360,640,3),np.uint8) #(360,630,3)代表行/列/3,成为3个数的数组。np.uint8是格式
while True:
cv2.imshow('mouse',img)
key = cv2.waitKey(1)
if key&0xFF ==ord('q'):
break
cv2.destroyAllWindows()