1 | void cv::setMouseCallback(const String& winname,MouserCallBack onMouse,void *userdata = 0) |
参数:
winname: 窗口名称
OnMouse : 鼠标事件的回调函数
userdata : 传递给回调函数的参数
MouseCallback函数定义为:
typedef void(* cv::MouseCallback)(int event,int x,int y,int flags,void *useradata);
参数说明:
event: 鼠标事件
x : 鼠标事件的x坐标
y : 鼠标事件的y坐标
flags: 鼠标事件的标志
userdata : 可选的参数
鼠标事件主要有下面几种:
CV_EVENT_MOUSEMOVE :鼠标移动
CV_EVENT_LBUTTONDOWN : 鼠标左键按下
CV_EVENT_RBUTTONDOWN : 鼠标右键按下
CV_EVENT_MBUTTONDOWN : 鼠标中键按下
CV_EVENT_LBUTTONUP : 鼠标左键放开
CV_EVENT_RBUTTONUP : 右键放开
CV_EVENT_MBUTTONUP : 中键放开
CV_EVENT_LBUTTONDBLCLK : 左键双击
CV_EVENT_RBUTTONDBLCLK : 右键双击
CV_EVENT_MBUTTONDBLCLK : 中键双击
CV_EVENT_MOUSEWHEEL : 鼠标向前(+)或向后(-)滑动
CV_EVENT_MOUSEHWHEEL : 鼠标向右(+)或向左(-)滑动
Flags主要有一下几种:
CV_EVENT_FLAG_LBUTTON :左键拖拽
CV_EVENT_FLAG_RBUTTON : 右键拖拽
CV_EVENT_FLAG_MBUTTON : 中键拖拽
CV_EVENT_FLAG_CTRLKEY : Ctrl按下不放
CV_EVENT_FLAG_SHIFTKEY : shift按下不放
CV_EVENT_FLAG_ALTKEY : alt按下不放
示例代码如下:
1 |
|