opencv#26 创建滑动条

滑动条示意图

好处就是可以在程序运行后实时改变程序中的某个参数。

创建滑动条相关函数

createTrackbar() 

int cv::createTrackbar(const String &    trackbamame,
                       const String &    winname,
                       int*              value,
                       int               count,
                                         onChange =
                       TrackbarCallback 0,
                       void*             userfata = 0
                      )

·trackbarname:滑动条的名称

·winname:创建滑动条窗口名称

·value:指向整数变量的指针,该指针指向的值反映滑块的位置,创建后,滑块位置由此变量定义。

·count:滑动条的最大值

·onChange:每次滑块更改位置时要调用的函数指针。该函数应该原型为void Foo (int,void*);,其中第一个参数是轨迹栏位置,第二个参数是用户数据。如果回调是NULL指针,则不会调用任何回调,只更新数值。

·userdata:传递给回调函数的可选参数。

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

using namespace cv; //opencv的命名空间
using namespace std;

void callBack(int value, void*);   //创建回调函数callback,是一个void类型
Mat img;
int value = 100;
int main()
{
	img = imread("E:/opencv/opencv-4.6.0-vc14_vc15/opencv/lenac.png");
    
	namedWindow("img"); //图像显示的窗口界面

	imshow("img", img);

	
	
	createTrackbar("百分比", "img", &value, 600, callBack, 0);

	waitKey(0);//等待函数用于显示图像
	return 0;

}

void callBack(int vlaue, void*)
{
	float a = value / 100.0;  //把图像乘a就可以对图像进行放大或者缩小,当value小于100时,a<1,缩小

	Mat img2;

	img2 = img * a;

	imshow("img", img2);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值