详解OpenCV的窗口滑动条创建控制函数createTrackbar()

函数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

代码的运行结果如下:
详解OpenCV的窗口滑动条创建控制函数createTrackbar()_第1张图片
可以拉动滑动条调整图像的灰度值,比如把滑动条的值拖动到143的结果如下:
详解OpenCV的窗口滑动条创建控制函数createTrackbar()_第2张图片

你可能感兴趣的:(图像处理原理,工具,代码,createTrackbar,鼠标事件,交互操作)