OpenCV里面有个鼠标调用函数cvSetMouseCallback.
回调函数实质上就是MFC中的消息响应函数.回调函数要自己写,这个很重要,看完就知道为什么了。
回调函数的原型:
void cvMouseCallback(
int event,
int x,
int y,
int flags,
void* param
);
写完回调函数之后,怎么在函数中引用呢?OpenCV给我们提供了一个函数cvSetMouseCallback。
这里有个提示,很好用,就是你要引用一个库函数的时候,要看它的参数定义等,选中这个函数,右击,然后现在Go to the definition.
看完后,用carl+tab快速切换cpp文件。
CVAPI(void) cvSetMouseCallback( const char* window_name, CvMouseCallback on_mouse,
void* param CV_DEFAULT(NULL));
第一个参数是选定窗口,第二个参数就是选择哪个调用函数,第三个系参数列表。
OpenCV里面对鼠标参数做了一定的宏定义。
#define CV_EVENT_MOUSEMOVE 0
#define CV_EVENT_LBUTTONDOWN 1
#define CV_EVENT_RBUTTONDOWN 2
#define CV_EVENT_MBUTTONDOWN 3
#define CV_EVENT