0,所以一般情况下不需要写。6、创建滑动条:createTrackbar()函数
C++: int createTrackbar(conststring& trackbarname, conststring& winname, int* value, int count, TrackbarCallback onChange=0, void* userdata=0);
(1)、conststring&类型的trackbarname,轨迹条的名字,用来代表我们创建的轨迹条。
(2)、conststring&类型的winname,窗口的名字,表示这个轨迹条会依附到哪个窗口上,即对应namedWindow()创建窗口时填写的某一个窗口名。
(3)、int*类型的value,一个指向整形的指针,表示滑块的位置。在创建时,滑块的初始位置就是该变量当前的值。
(4)、int类型的count,表示滑块可以达到的最大位置的值。滑块最小位置的值始终为0.
(5)、TrackbarCallback类型的onChange,它有默认值0。这是一个指向回调函数的指针,每次滑块位置改变时,这个函数都会进行回调。并且这个函数的原型必须为void XXX(int void*);,其中第一个参数是轨迹条的位置,第二个参数是用户数据。如果回调是NULL指针,则表示没有回调函数的调用,仅第三个参数value有变化。
(6)、void*类型的userdata,默认值0.这个参数是用户传给回调函数的数据,用来处理轨迹条事件。如果使用的第三个参数value实参是全局变量的话,完全可以不去管userdata参数。
7、获取当前轨迹条的位置:getTrackbarPos()函数
C++: int getTrackbarPos(conststring& trackbarname, conststring& winname);
(1)、conststring&类型的trackbarname,表示轨迹条的名字。
(2)、conststring&类型的winname,表示轨迹条的父窗口的名称。
8、鼠标操作:SetMouseCallback()
C++: void SetMouseCallback(conststring& winname, MouseCallback
onMouse, void* userdata=0)
(1)、conststring&类型的winname,窗口的名字。
(2)、MouseCallback类型的onMouse,指定窗口里每次鼠标时间发生的时候,被调用的函数指针。这个函数的原型大概为void Foo(int event, int x, int y, int flags, void* param)。其中event是EVENT_+变量之一,x、y是鼠标指针在图像坐标系中的坐标值,flags是EVENT_FLAG的组合,param是用户定义的传递到SetMouseCallback函数调用的参数。如EVENT_MOUSEMOVE为鼠标移动消息、EVENT_LBUTTONDOWN为鼠标左键按下消息等。
(3)、void*类型的userdata,用户定义的传递到回调函数的参数,默认值0。