每天一个opencv函数:滑动条createTrackbar

滑动条事件函数

函数原型

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

参数详解

参数解释
参数1滑动条名称
参数2滑动条所在的窗口
参数3一个指向整型的指针,表示滑块的位置,创建时,该变量就是滑块的初始位置
参数4int类型的值,表示滑动条的最大行程,最小为0(opencv的GUI中没有按钮,因此可以使用滑块的0和1来代替按钮)
参数5回调函数,每次滑块改变位置,则会调用这个函数(函数原型必须为:void XX(int, void *);第一个参数表示滑块位置,第二个参数为用户数据)
参数6用户传入的数据

演示代码

Mat gray;
Mat gray_show;
int value = 0;

void On_Trackbar(int, void*)
{
	threshold(gray, gray_show, value, 255, THRESH_BINARY);	//阈值分割
	bitwise_not(gray_show, gray_show);
	imshow("output", gray_show);
}

int main()
{
	Mat src = imread("D:\\c plus plus\\test1111.png");
	if (!src.data)
	{
		cout << "can not open the picture" << endl;
		return -1;
	}
	imshow("intput image", src);

	cvtColor(src, gray, COLOR_BGR2GRAY);
	
	namedWindow("output", WINDOW_AUTOSIZE);
	createTrackbar("value", "output", &value, 255, On_Trackbar);
	On_Trackbar(value, 0);

	waitKey(0);
	return 0;
}

效果

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值