Opencv想要控制鼠标首先要给窗口设置一个回调函数,原型是:setMouseCallback(winname,callback,userdata)
Winname是窗口的名称,callback是设置的回调函数,userdata是回调函数的参数,默认是None。
callback(event,x,y,flags,userdata):回调函数,event是事件,鼠标具体是左键还是右键还是中间键;x,y是鼠标的位置,事件发生是鼠标的坐标点要知道;flags主要用语组合键,比如按ctrl+鼠标左键。
import cv2
import numpy as np

# 创建一张全黑的图片
img=np.zeros((360,640,3),np.uint8)

def mousecallback(event,x,y,flag,userdata):
    print(event,x,y,flag,userdata)

# mousecallback(1,20,30,16,\'666\')
# 创建窗口
cv2.namedWindow(\'窗口\',cv2.WINDOW_NORMAL)
cv2.resizeWindow(\'窗口\',640,360)

# 设置鼠标回调
cv2.setMouseCallback(\'窗口\',mousecallback,\'123\')

while 1:
    cv2.imshow(\'窗口\',img)
    key=cv2.waitKey(1)
    if key==ord(\'q\'):
        break
cv2.destroyAllWindows
评论
头像
验证码:
相关推荐

blender骨骼导入到threejs方法

threejs制作动态旋转银河系

threejs制作鼠标交互的网页banner




如果未经特殊说明,本站内容皆为原创,转载内容如果侵犯了您的权益,如有侵权请联系管理员删除
联系QQ:2380712278

备案号:皖ICP备19012824号