OpenCV学习笔记(三)持续更新中

上一篇:戳这里

一、引言

        本篇笔记介绍如何使用OpenCV控制鼠标。

二、相关方法

        关于鼠标控制设计到的方法为setMouseCallback,共有三个参数:窗口名、回调函数以及额外的参数,值得一提的是,额外参数将会作为回调函数的参数传入。

        而回调函数的定义需要遵循一定的格式,由5个参数组成:event(鼠标点击事件),x、y(鼠标在窗口上的坐标)、flags(用于区分组合键情况的数字标记)以及userdata(由setMouseCallback传入)

三、代码实现

        

import cv2
import numpy as np

#创建回调函数
def mouse_callback(event, x, y, flags, userdata):
    print(event, x, y, flags, userdata)


#mouse_callback(1, 100, 100, 16, "666")
    
#创建窗口
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()    

        运行代码可以观察到,鼠标在窗口不同位置点击鼠标不同的键或搭配不同的组合键,返回值不同,OpenCV正是依此来识别不同的鼠标事件。

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值