函数createTrackbar()可实现创建窗口滑动条,通过鼠标拖动滑动条控制某个参数的值,从而观察不同参数情况下窗口的图像输出结果。
函数createTrackbar()的原型如下:
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—回调函数名;
userdata—如果用户想传一些自定义的数据给回调函数,可以放在userdata中。
回调函数的格式要求如下:
void onChangeTrackBar(int pos, void * data)
{
.......
}
第一个参数pos为滑动条的当前位置;
第二个参数为函数createTrackbar()中的参数userdata。
接下来是一个简单的示例,该示例实现通过滑动条调整图像的灰度值。
具体的源代码请查看下面这篇博文:
https://www.hhai.cc/thread-108-1-1.html
代码的运行结果如下:
可以拉动滑动条调整图像的灰度值,比如把滑动条的值拖动到143的结果如下:
Python示例代码请见下面这篇博文
https://www.hhai.cc/thread-108-1-1.html