『OpenCV-Python』鼠标事件

点赞 + 关注 + 收藏 = 学会了

在使用 OpenCV 进行图像处理时,有时需要与图像进行交互,例如选择感兴趣区域(ROI)、标注关键点、调整参数、获取图片指定位置的颜色值等。OpenCV 提供了鼠标事件支持,可以在图像窗口中通过鼠标实现丰富的交互功能。

用到的方法是 cv2.setMouseCallback(window_name, on_mouse, param=None),用这个方法监听鼠标在指定窗口里做了什么。

本文可在公众号「德育处主任」免费阅读

  • window_name:需要绑定鼠标事件的窗口名称。
  • on_mouse:回调函数。在这个函数里可以知道用户用鼠标做了什么操作。
  • param:传递给回调函数的额外参数,可以不传。也可以传你需要的内容,比如传递图像数据到回调函数中,让回调函数可以访问或修改图像。

其中,回调函数(on_mouse)需要按照以下形式定义:

def on_mouse(event, x, y, flags, param):
    # event: 当前的鼠标事件类型。
    # x, y: 鼠标事件发生时的坐标。
    # flags: 事件相关的附加信息(按下键盘时的修饰键状态,比如按下shift健的同时鼠标在图片上有操作)。
    # param: 通过 setMouseCallback 传递的额外参数。

OpenCV 提供了多种鼠标事件(event),以下是常见类型:

枚举值 数字值 描述
cv2.EVENT_MOUSEMOVE 0 鼠标移动
cv2.EVENT_LBUTTONDOWN 1 鼠标左键按下
cv2.EVENT_RBUTTONDOWN 2 鼠标右键按下
cv2.EVENT_MBUTTONDOWN 3 鼠标中键按下
cv2.EVENT_LBUTTONUP 4 鼠标左键释放
cv2.EVENT_RBUTTONUP</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值