滑动条的创建与使用

#include<opencv2/opencv.hpp>
#include"opencv2/highgui/highgui.hpp"
#include "iostream"
using namespace std;
using namespace cv;
#define WINDOW_NAME "【线性混合示例】"
const int g_nMaxAlphaValue =100;
int g_nAlphaValueSlider;
double g_dAlphaValue;
double g_dBetaValue;
Mat g_srcImage1;
Mat g_srcImage2;
Mat g_dstImage;
void on_Trackbar(int ,void*)
{
	g_dAlphaValue=(double)g_nAlphaValueSlider/g_nMaxAlphaValue;
	g_dBetaValue=(1.0-g_dAlphaValue);
	addWeighted(g_srcImage1,g_dAlphaValue,g_srcImage2,g_dBetaValue,0.0,g_dstImage);
	imshow(WINDOW_NAME,g_dstImage);
}

void  main()
{
	g_srcImage1=imread("C:\\Users\\Administrator\\Desktop\\工作\\testp\\01.jpg");
	g_srcImage2=imread("C:\\Users\\Administrator\\Desktop\\工作\\testp\\02.jpg");
	if(!g_srcImage1.data)
	{
		cout<<"读取第一个图错误!\n";
		return;
	}
	if(!g_srcImage2.data)
	{
		cout<<"读取第二个图错误\n";
		return;
	}

	g_nAlphaValueSlider=70;
	namedWindow(WINDOW_NAME,1);
	char TrackbarName[50];
	sprintf(TrackbarName,"透明值%d",g_nMaxAlphaValue);

	createTrackbar(TrackbarName,WINDOW_NAME,&g_nAlphaValueSlider,g_nMaxAlphaValue,on_Trackbar);
	on_Trackbar(g_nAlphaValueSlider,0);
	waitKey(0);
}
滑动条的使用 回调函数 createTrackbar(TrackbarName,WINDOW_NAME,&g_nAlphaValueSlider,g_nMaxAlphaValue,on_Trackbar);
滑动条的创建与使用_第1张图片 滑动条的创建与使用_第2张图片

你可能感兴趣的:(opencv)