温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

createTrackbar如何实现

发布时间:2021-10-18 09:18:08 来源:亿速云 阅读:146 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“createTrackbar如何实现”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“createTrackbar如何实现”这篇文章吧。

createTrackbar是Opencv中的API,其可在显示图像的窗口中快速创建一个滑动控件,用于手动调节阈值,具有非常直观的效果。具体定义如下:

CV_EXPORTS int createTrackbar(const string& trackbarname, const string& winname,
                              int* value, int count,
                              TrackbarCallback onChange = 0,
                              void* userdata = 0);

形式参数一、trackbarname:滑动空间的名称;

形式参数二、winname:滑动空间用于依附的图像窗口的名称;

形式参数三、value:初始化阈值;

形式参数四、count:滑动控件的刻度范围;

形式参数五、TrackbarCallback是回调函数,其定义如下:

typedef void (CV_CDECL *TrackbarCallback)(int pos, void* userdata);

其使用示例代码如下:

IplImage *src = NULL, *thresDst = NULL;
int threshold_min = 100;;
int max_lowThreshold = 255;
cvNamedWindow("threshold", CV_WINDOW_AUTOSIZE);	
thresDst = cvCloneImage(src);
createTrackbar("min Threshold", "threshold", &threshold_min, max_lowThreshold,
		threshold);
threshold(0,0);

可以看出,createTrackbar的第二个参数,必须和cvNameWindow的第一个参数完全一致。其中回调函数定义及实现如下:

void threshold(int, void*)
{
	cvThreshold(src , thresDst , threshold_min , 255 , CV_THRESH_BINARY ) ;
	cvShowImage("threshold", thresDst);
}

如此,即可在图像窗口上方成功创建一个滑动控件,其效果如下(左边是原图像,右边是带有滑动控件的二值图像):

createTrackbar如何实现

createTrackbar如何实现

以上是“createTrackbar如何实现”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节
推荐阅读:
  1. BitMap实现
  2. listview实现

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI