设置鼠标事件的回调函数
#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_EVENT_LBUTTONDBLCLK 7 #define CV_EVENT_RBUTTONDBLCLK 8 #define CV_EVENT_MBUTTONDBLCLK 9 #define CV_EVENT_FLAG_LBUTTON 1 #define CV_EVENT_FLAG_RBUTTON 2 #define CV_EVENT_FLAG_MBUTTON 4 #define CV_EVENT_FLAG_CTRLKEY 8 #define CV_EVENT_FLAG_SHIFTKEY 16 #define CV_EVENT_FLAG_ALTKEY 32 CV_EXTERN_C_FUNCPTR( void (*CvMouseCallback )(int event, int x, int y, int flags, void* param) ); void cvSetMouseCallback( const char* window_name, CvMouseCallback on_mouse, void* param=NULL );
-
window_name
- 窗口的名字。 on_mouse
-
指定窗口里每次鼠标时间发生的时候,被调用的函数指针。这个函数的原型应该为
void Foo(int event, int x, int y, int flags, void* param);
其中event
是CV_EVENT_*
变量之一,x
和y
是鼠标指针在图像坐标系的坐标(不是窗口坐标系),flags
是CV_EVENT_FLAG
的组合,param
是用户定义的传递到cvSetMouseCallback
函数调用的参数。
param
- 用户定义的传递到回调函数的参数。