opencv中鼠标函数的使用 及c++实现

本文介绍了如何在OpenCV中使用鼠标事件函数,包括通过setMouseCallback设置回调函数onMouse,以及如何获取鼠标坐标和利用鼠标左键框选感兴趣区域。通过示例代码展示了在C++中实现鼠标操作的详细过程。
摘要由CSDN通过智能技术生成

鼠标事件函数介绍

opencv中进行鼠标操作主要用到setMouseCallback这个函数,如下:

 void setMouseCallback(const String& winname, MouseCallback onMouse, void* userdata = 0);
 winname:窗口名称
 onMouse:鼠标响应函数,回调函数
 userdata:用户自定义的参数
 此函数会在调用之后不断查询鼠标信息直到窗口销毁

主要操作在回调函数onMouse中设置:

 


void on_Mouse(int event, int x, int y, int flags, void* param);

event:表示鼠标事件类型的常量

x和y:鼠标指针在图像坐标系的坐标

flags:鼠标事件标志的常量

param:用户可自定义的参数

鼠标事件的类型(字母和数字完全等价):

Event:

#define CV_EVENT_MOUSEMOVE 0             //滑动
#define CV_EVENT_LBUTTONDOWN 1           //左键点击
#define CV_EVENT_RBUTTONDOWN 2           //右键点击
#define CV_EVENT_MBUTTONDOWN 3           //中键点击
#define CV_EVENT_LBUTTONUP 4             //左键放开
#define CV_EVENT_RBUTTONUP 5             //右键放开
#define CV_EVENT_MBUTTONUP 6             //中键放开
#define CV_EV
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值