opencv中createTrackbar()函数用法总结(06)

在opencv中滑动条是很方便的一个测试函数,我们可以不需要更改程序就可以更改变量的值来观察效果。

还是老习惯,分三步走。第一步,功能说明。第二步,结果图显示,第三步,API详解。第四步,代码展示(注释很详细,保证所有有C++基础的人都可以看懂。)

第一步,功能说明:用途就是通过改变滑动条的位置来改变函数里面变量的值,比如我们需要把程序里面的变量i改变为10,20,30就可以分别滑到10,20,30,可以实时的显示i=10,20,30时的效果图。下面我们通过改变变量 i 的值,实时的把i的值输出到屏幕。

第二步,结果图显示:

初始值(第一张图片)

滑动到11后(第二张图片)

滑动到15后(第三张图片)

我们可以看出变量的值,可以随着滑动条的改变而改变。

第三步,API详解:原型:int createTrackbar(const string& trackbarname, const string&winname, int* value,  int count ,TrackbarCallback onChange = 0,  void* userdata = 0);           

参数1:轨迹条名字

参数2:窗口名字

参数3:滑块初始位置

参数4:表示滑块达到最大位置的值

参数5:默认值为0,指向回调函数

参数6:默认值为0,用户传给回调函数的数据值

第四步,代码展示:

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int i = 7;//滑动条初始值
int maxnum = 20;//滑动条最大值
void text(int,void*);//声明回调函数

int main(int argc, char** argv) 
	{
	Mat src = imread("image5.jpg");
//判断图片是否载入成功
	if (src.empty()) 
	{
		printf("图片加载失败\n");
		system("pause");
		//return -1;
	}
	//新建一个窗口
	namedWindow("测试窗口",WINDOW_AUTOSIZE);
	//创建滑动条
	//注意:i是变量,滑动条擦改变后i改变。
	createTrackbar("数字:","测试窗口",&i,maxnum,text);

    text(0,0);

	waitKey(0);
	return 0;
}
//回调函数
void text(int,void*)
{
	cout<<"数字i的值为:"<<i<<endl;
}

本人也是学习opencv不久,如有错误,请各位前辈指导。大家如果觉得我的博客讲解通俗易懂,请进我博客专栏查看更多API讲解。博客地址https://blog.csdn.net/fanjiule   。转载请备注本地址。

猜你喜欢

转载自blog.csdn.net/fanjiule/article/details/81629015
今日推荐