You are on page 1of 2

设置鼠标事件的回调函数:cv::setMouseCallback()

#include <opencv2/highgui.hpp>
函数说明:void cv::setMouseCallback(const String &winname, MouseCallback onMouse, void
*userdata = (void *)0)
输入参数:
winname 窗口的名称。
onMouse 鼠标事件的回调函数。
userdata 传递给回调的可选参数(默认 0)。

(3)创建轨迹条,并将其附加到指定的窗口:cv::createTrackbar()

 创建一个具有指定名称和范围的轨迹条(滑块或范围控件),分配一个变量
值作为与轨迹条同步的位置,并指定在轨迹条位置更改时调用的回调函数
onChange。

 创建的轨迹条将显示在指定的窗口 winname 中。
#include <opencv2/highgui.hpp>
函 数 说 明 : int cv::createTrackbar( const String &trackbarname, const String &winname, int
*value, int count, TrackbarCallback onChange = 0, void *userdata = 0 )
输入参数:
trackbarname 创建轨迹条的名称。
winname 作为轨迹条的父窗口的名称。
value 指向整数变量的可选指针,该变量的值反映滑块
的位置。创建时,滑块位置由该变量定义。
count 滑块的最大位置。最小位置始终为 0。
onChange 指向每当滑块改变位置时要调用的函数的指针
(默认 0)。这个函数应该被原型化为 void Foo(int,void*),其中第一个参数是轨迹条
位置,第二个参数是用户数据(见下一个参数)。如果回调是 NULL 指针,则不会调用回
调,但只更新值。
userdata 按原样传递给回调的用户数据(默认 0)。它可以在
不使用全局变量的情况下用于处理轨迹条事件。
(4)获取指定轨迹条的当前位置:cv::getTrackbarPos()

#include <opencv2/highgui.hpp>
函数说明:int cv::getTrackbarPos(const String &trackbarname, const String &winname)
输入参数:
trackbarname 轨迹条的名称。
winname 作为轨迹条的父窗口的名称。

备注:如果轨迹条连接到控制面板,winname 可以为空。

You might also like