You are on page 1of 2

1.

4、鼠标与轨迹条操作

鼠标事件的回调函数:cv::MouseCallback

采用回调函数来处理鼠标事件。首先创建一个回调函数,并输入回调函数触发事件以及触
发位置。函数还需要被告知用户是否在触发鼠标事件的同时触发了 Shift 或者 Alt 等键。
#include <opencv2/highgui.hpp>
函数说明:typedef void(* cv::MouseCallback) (int event, int x, int y, int flags, void *userdata)
输入参数:
11、event:鼠标事件
事件名称 数值 说

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
表示双击鼠标中键。
22、(x, y):触发鼠标事件的坐标位置
33、flags:鼠标状态
标志名称 数值 说

CV_EVENT_FLAG_LBUTTON 1 表
示鼠标左键已按下。
CV_EVENT_FLAG_RBUTTON 2 表
示鼠标右键已按下。
CV_EVENT_FLAG_MBUTTON 4 表
示鼠标中键已按下。
CV_EVENT_FLAG_CTRLKEY 8 表
示按下了 Ctrl 键(8~15)。
CV_EVENT_FLAG_SHIFTKEY 16 表
示按下了 Shift 键(16~31)。
CV_EVENT_FLAG_ALTKEY 32 表
示按下了 Alt 键(32~39)。
44、param:(可选参数)可以以任何结构方式传递额外的参数信息。

You might also like