OpenCV - 处理鼠标事件(Python实现)

本文介绍了如何使用OpenCV在Python中处理鼠标事件,通过回调函数实现鼠标双击绘制矩形的功能。首先,展示了打印鼠标事件的基础代码,接着定义了全局变量和回调函数,用于记录鼠标点击次数和坐标。当鼠标单击两次时,利用这两个坐标画出矩形。最后,将回调函数绑定到图像窗口,并展示了运行效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 打印鼠标事件
我们首先打印出鼠标的事件:
代码:

import cv2
events=[i for i in dir(cv2) if 'EVENT'in i]  #将全部事件保存在列表中
print (events)                               #将列表打印

结果:

EVENT_FLAG_LBUTTON 1         #左鍵拖曳  
EVENT_FLAG_RBUTTON 2         #右鍵拖曳  
EVENT_FLAG_MBUTTON 4         #中鍵拖曳  
EVENT_FLAG_CTRLKEY 8         #(8~15)按Ctrl不放事件  
EVENT_FLAG_SHIFTKEY 16       #(16~31)按Shift不放事件  
EVENT_FLAG_ALTKEY 32         #(32~39)按Alt不放事件  

EVENT_MOUSEMOVE 0            #滑动
EVENT_LBUTTONDOWN 1          #左键点击
EVENT_RBUTTONDOWN 2          #右键点击
EVENT_MBUTTONDOWN 3          #中键点击
EVENT_LBUTTONUP 4            #左键放开
EVENT_RBUTTONUP 5            #右键放开
EVENT_MBUTTONUP 6            #中键放开
EVENT_LBUTTONDBLCLK 7        #左键双击
EVENT_RBUTTONDBLCLK 8        #右键双击
EVENT_MBUTTONDBLCLK 9        #中键双击

2. 回调函数
为了实现单击两次画矩形的目的,首先定义了三个全局变量
n --> 判断鼠标按下的次数
ix,iy --> 存储第一次鼠标单击的坐标

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值