Opencv之鼠标响应setMouseCallback()的用法

本文介绍了如何使用OpenCV的setMouseCallback函数响应鼠标事件,特别是画矩形的功能。通过定义不同的鼠标事件,如鼠标按下、释放,结合标志位flags,实现矩形的绘制。此外,还提供了程序示例,展示了如何在图像上画出矩形并进行截图。

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

平时在写代码时可能用到鼠标在图上做标记等其他作用,opencv主要用setMouseCallback()这个函数,下面来讲解:

一、setMouseCallback()

 void setMousecallback(const string& winname, MouseCallback onMouse, void* userdata=0)
    winname:窗口的名字
    onMouse:鼠标响应函数,回调函数。指定窗口里每次鼠标时间发生的时候,被调用的函数指针。 这个函数的原型应该为void on_Mouse(int event, int x, int y, int flags, void* param);
    userdate:传给回调函数的参数 

再来介绍MouseCallback onMouse的函数原型:

void on_Mouse(int event, int x, int y, int flags, void* param);
event是 CV_EVENT_*变量之一
x和y是鼠标指针在图像坐标系的坐标(不是窗口坐标系) 
flags是CV_EVENT_FLAG的组合, param是用户定义的传递到setMouseCallback函数调用的参数。
附常用的event:

#defineCV_EVENT_MOUSEMOVE

#defineCV_EVENT_LBUTTONDOWN 

#defineCV_EVENT_RBUTTONDOWN   

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值