妇联网站建设背景,2021军事热点新闻,wordpress调用列表页,邯郸百度公司咋样操作系统#xff1a;ubuntu22.04 OpenCV版本#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言#xff1a;C11
算法描述
为指定的窗口设置鼠标处理器。
setMouseCallback 是 OpenCV 中的一个功能#xff0c;允许开发者注册一个回调函数来处理鼠标事件。当用户在窗口… 操作系统ubuntu22.04 OpenCV版本OpenCV4.9 IDE:Visual Studio Code 编程语言C11
算法描述
为指定的窗口设置鼠标处理器。
setMouseCallback 是 OpenCV 中的一个功能允许开发者注册一个回调函数来处理鼠标事件。当用户在窗口中移动鼠标或点击时这个回调函数会被触发。这对于交互式应用非常有用比如图像标注、特征点选取等。
函数原型 void cv::setMouseCallback
(const String winname,MouseCallback onMouse,void * userdata 0
) 参数
参数winname 窗口的名称。参数onMouse 鼠标事件的回调函数。参见 OpenCV 样例了解如何指定和使用回调。参数userdata 传递给回调的可选参数。
代码示例 #include iostream
#include opencv2/opencv.hppusing namespace cv;
using namespace std;// 鼠标回调函数
void onMouse( int event, int x, int y, int flags, void* userData )
{// 用户数据int* data static_cast int* ( userData );switch ( event ){case EVENT_LBUTTONDOWN:cout Left button of the mouse was clicked - position ( x , y ) endl;*data 1; // 更新用户数据break;case EVENT_RBUTTONDOWN:cout Right button of the mouse was clicked - position ( x , y ) endl;*data - 1; // 更新用户数据break;default:break;}
}int main()
{Mat img Mat::zeros( 640, 480, CV_8UC3 );namedWindow( Test Window, WINDOW_AUTOSIZE );imshow( Test Window, img );// 初始化用户数据int count 0;// 设置鼠标回调函数并传递用户数据setMouseCallback( Test Window, onMouse, count );// 等待按键waitKey( 0 );// 输出用户数据的最终值cout Final value of count: count endl;return 0;
}运行结果
鼠标左右键随意点击窗口中的任意位置终端输出点击的位置坐标