亲宝软件园·资讯

展开

opencv锁定鼠标定位的实现

lqj_本人 人气:0

控制鼠标

opencv允许我们对窗口的鼠标动作做出响应:

setMouseCallback(winname,callback,userdata)

1.winname是窗口的名字

2.callback是回调函数

3.userdata是给回调函数的参数

callback(event,x,y,flags,userdata)回调函数必须包含这5个参数:

1.event:事件(鼠标拖动,左键,右键等)

2.x,y:点击鼠标的坐标点

3.flags:主要用于组合键

4.userdata:上面的setMouseCallback的userdata

鼠标事件:

flags:

导入相应的库

import cv2
import numpy as np

创建方法

创建并输出回调函数的五个参数

 def mouse_callback(event,x,y,flags,userdata):
    print(event,x,y,flags,userdata)

创建窗口

cv2.namedWindow('mouse',cv2.WINDOW_NORMAL)
cv2.resizeWindow('mouse',640,360)

设置鼠标回调函数

cv2.setMouseCallback('mouse',mouse_callback,'123')

设置生成的窗口背景

img = np.zeros((360,640,3),np.uint8)

绑定键盘监听事件

while True:
    cv2.imshow('mouse',img)
    key = cv2.waitKey(1)
    if key & 0XFF == ord('q'):
        break

释放窗口

cv2.destroyAllWindows()

效果展示

当鼠标出现在窗口中时,即开始跟踪鼠标的位置,并完成位置的实时打印!

完整学习代码

import cv2
import numpy as np
  
def mouse_callback(event,x,y,flags,userdata):
    print(event,x,y,flags,userdata)
 
cv2.namedWindow('mouse',cv2.WINDOW_NORMAL)
cv2.resizeWindow('mouse',640,360)
 
#设置鼠标回调函数
cv2.setMouseCallback('mouse',mouse_callback,'123')
 
#显示窗口和背景
#生成全黑的图片
img = np.zeros((360,640,3),np.uint8)
while True:
    cv2.imshow('mouse',img)
    key = cv2.waitKey(1)
    if key & 0XFF == ord('q'):
        break
cv2.destroyAllWindows()

加载全部内容

相关教程
猜你喜欢
用户评论