鼠标相应事件采用了回调函数的方式来处理。为了可以响应鼠标事件,首先创建一个回调函数,使得鼠标事件(如移动、点击等
)发生时OpenCV可以调用这个函数。
创建这个函数之后,还要在OpenCV中注册这个函数。
鼠标事件的回调函数格式为:
void CvMouseCallback(
int event,
int x,
int y,
int flags,
void* param
);
当回调函数被调用时,OpenCV就给上述函数传入合适的值,其中参数event为具体鼠标事件(是一系列以CV_EVENT_开头的宏定义,例如鼠标移动事件为CV_EVENT_MOUSEMOVE)。参数x、y为鼠标位置像素坐标值。参数flags指定了事件发生时的不同状态(如是否按下SHIFT键等,是一系列以CV_EVENT_FLAG_开头的宏定义)。参数param指向任何结构来传递额外的参数信息。
实现注册到OpenCV的函数结构如下: