标签:opencv 鼠标事件 on-mouse cvsetmouse
opencv的鼠标事件主要涉及两个函数
cvSetMouseCallback
void cvSetMouseCallback( const char* window_name, CvMouseCallback on_mouse, void* param CV_DEFAULT(NULL));
window_name
:鼠标执行的窗口名
on_mouse
:每次指定窗口鼠标事件发生时被调用的函数指针
param
:传递到回调函数的参数
on_mouse
的原型void Foo(int event, int x, int y, int flags, void* param);
param
:传递到cvSetMouseCallback函数调用的参数
x、y
:鼠标指针在图像坐标系的坐标
event
: CV_EVENT_*变量之一
enum
{
CV_EVENT_MOUSEMOVE =0,//滑动
CV_EVENT_LBUTTONDOWN =1,//左键点击
CV_EVENT_RBUTTONDOWN =2,//右键点击
CV_EVENT_MBUTTONDOWN =3,//中键点击
CV_EVENT_LBUTTONUP =4,//左键放开
CV_EVENT_RBUTTONUP =5,//右键放开
CV_EVENT_MBUTTONUP =6,//中键放开
CV_EVENT_LBUTTONDBLCLK =7,//左键双击
CV_EVENT_RBUTTONDBLCLK =8,//右键双击
CV_EVENT_MBUTTONDBLCLK =9//中键双击
};
flags
:是CV_EVENT_FLAG的组合
enum
{
CV_EVENT_FLAG_LBUTTON =1,//左键拖曳
CV_EVENT_FLAG_RBUTTON =2,//右键拖曳
CV_EVENT_FLAG_MBUTTON =4,//中键拖曳
CV_EVENT_FLAG_CTRLKEY =8,//按CTRL
CV_EVENT_FLAG_SHIFTKEY =16,//按SHIFT
CV_EVENT_FLAG_ALTKEY =32//按ALT
};
标签:opencv 鼠标事件 on-mouse cvsetmouse
原文地址:http://blog.csdn.net/u013298384/article/details/45418069