opencv笔记(三十)——opencv中滑动条的创建

              

//注:调用滑杆时,显示滑杆的那张图的名字要和createTrackbar函数的第二个参数和onChangeTrackBar中imshow的名字相同
#include <iostream>
#include <opencv2\highgui\highgui.hpp>


using namespace std;
using namespace cv;

const string Barname = "阈值";
string window_name = "二值图";
void onChangeTrackBar(int pos, void* usrdata);

int main()
{
	Mat Image;
	Mat Image_Gray;
	int lowThreshold = 30;
	int max_lowThreshold = 255;

	Image = imread("E:\\QT text\\blood vessel processing\\Canny\\image\\11.bmp");
	if (!Image.data) //判断图像是否载入
	{
		cout << "图像载入失败!" << endl;
		return 0;
	}
//	imshow(window_name, Image);
	cvtColor(Image, Image_Gray, CV_BGR2GRAY);
	imshow(window_name, Image_Gray);
	createTrackbar(Barname, window_name, &lowThreshold, max_lowThreshold, onChangeTrackBar, &Image_Gray);
	waitKey(0);
	return 0;
}

// 回调函数
void onChangeTrackBar(int pos, void* usrdata)
{
	// 强制类型转换
	Mat src = *(Mat*)(usrdata);

	Mat dst;
	// 二值化
	threshold(src, dst, pos, 255, 0);

	imshow(window_name, dst);
}

注:调用滑杆时,滑杆所依附窗口的名字要和createTrackbar函数的第二个参数和onChangeTrackBar中imshow的名字相同。

参考:https://blog.csdn.net/xiaowei_cqu/article/details/7839140

https://www.cnblogs.com/Nelsoner/p/6718842.html

http://www.cnblogs.com/huhuuu/p/3538850.html

猜你喜欢

转载自blog.csdn.net/qq_37764129/article/details/82790757