opencv中createTrackbar函数的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/love_image_xie/article/details/87462175
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/core/core.hpp>
#include<cmath>
#include<iostream>
#include<vector>
using namespace std;
using namespace cv;

void on_Track(int pos, void* data)
{
	Mat src = *(Mat*)data;
	Mat dst;
	threshold(src,dst,pos,255,0);
	imshow("dyn_threshold",dst);
}
int main()
{
	Mat src;
	src = imread("E:\\研究生\\学习材料\\学习书籍\\OpenCV图像处理编程实例-源码-20160801\\《OpenCV图像处理编程实例-源码-20160801\\images\\flower4.jpg");
	if (src.empty())
		return -1;
	Mat gray;
	cvtColor(src,gray,CV_RGB2GRAY);
	namedWindow("dyn_threshold");
	imshow("dyn_threshold", gray);
	createTrackbar("pos","dyn_threshold",0,255,on_Track,&gray);
	imshow("src",src);
	waitKey(0);
}

从这段代码我们可以知道以下几点:

1、createTrackbar函数定义,“pos”表示工具条的名字,“dyn_threshold”表示窗口名字,0-255表示工具条的最小值和最大值,on_Track表示移动工具条调用的函数,gray表示用户自己的数据;

2、将void*转化为Mat矩阵可用src = *(Mat*)data

猜你喜欢

转载自blog.csdn.net/love_image_xie/article/details/87462175
今日推荐