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

Posted 昊虹AI笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解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

代码的运行结果如下:

可以拉动滑动条调整图像的灰度值,比如把滑动条的值拖动到143的结果如下:

以上是关于详解OpenCV的窗口滑动条创建控制函数createTrackbar()的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV滑动条(createTrackbar()函数)如何在多个维度进行同步调整?

HighGUI图形图像界面初步——滑动条的创建和使用

python opencv:使用滑动条做调色板

18KW13/4-OpenCV入门-制作一个调色板

用滑动条做调色板

树莓派视觉小车 -- 小球追踪(颜色追踪)(OpenCV色彩空间HSV)