滑动条的创建:
int createTrackbar(const String& trackbarname, const String& winname,
int* value, int count,
TrackbarCallback onChange = 0,
void* userdata = 0);
- const String& trackbarname:轨迹条名称
- const String& winname:窗口名称
- int* value:滑块初始位置
- int count:滑块最大值
- TrackbarCallback onChange = 0:指向回调参数指针,有默认值0
- void* userdata = 0:传给回调函数的参数如int* value为全局变量则无需更改参数值
回调函数:
用于在滑动条滚动时对滑动条变化做出反应,实现不同效果
例如
void on_Trackbar( int, void* )
{
//求出当前alpha值相对于最大值的比例
g_dAlphaValue = (double) g_nAlphaValueSlider/g_nMaxAlphaValue ;
//则beta值为1减去alpha值
g_dBetaValue = ( 1.0 - g_dAlphaValue );
//根据alpha和beta值进行线性混合
addWeighted( g_srcImage1, g_dAlphaValue, g_srcImage2, g_dBetaValue, 0.0, g_dstImage);
//显示效果图
imshow( WINDOW_NAME, g_dstImage );
}
获取当前轨迹条位置 getTrackbarPos():
函数原型:
int getTrackarpos(const string & trackbarname,const string& winname);
- const string& trackbarname:轨迹条名称
- const string& winname:轨迹条父窗口的名称
鼠标操作:SetMouseCallback
void setMouseCallback(const String& winname, MouseCallback onMouse, void* userdata = 0);
- const String& winname:窗口的名字
- MouseCallback onMouse:指定窗口里每次鼠标时间发生的时候,被调用的函数指针
- void* userdata:回调函数参数,有默认值0