阅读背景:

Opencv滑动条的创建和使用

来源:互联网 
#include<iostream>
#include<opencv2/opencv.hpp>
#include"stdio.h"

#define WINDOW_NAME "【轨迹条测试窗口】"

using namespace std;
using namespace cv;

Mat srcImage1, srcImage2, dstImage;
int g_nAlphaValueSlider;
const int g_nMaxAlphaValue = 100;
double g_dAlphaValue;
double g_dBetaValue;
char *TrackbarName;

//有滚动条事件时,可以进入回调函数
void on_Trackbar(int, void *)
{
	g_dAlphaValue = static_cast<double>(g_nAlphaValueSlider) / g_nMaxAlphaValue;
	g_dBetaValue = 1.0 - g_dAlphaValue;

	addWeighted(srcImage1, g_dAlphaValue, srcImage2, g_dBetaValue, 0.0, dstImage);

	imshow(WINDOW_NAME, dstImage);

	cout << "当前轨迹的位置:" << getTrackbarPos(TrackbarName, WINDOW_NAME) << endl;
}

int main()
{
	srcImage1 = imread("beach.jpg");
	srcImage2 = imread("lake.jpg");

	g_nAlphaValueSlider = 50;

	namedWindow(WINDOW_NAME);

	TrackbarName = new char[100];
	sprintf(TrackbarName, "轨迹条 %d", g_nMaxAlphaValue);

	createTrackbar(TrackbarName, WINDOW_NAME, &g_nAlphaValueSlider, g_nMaxAlphaValue, on_Trackbar);

	on_Trackbar(g_nAlphaValueSlider, 0);

	waitKey(0);

	return 0;
}#include<iostream>
#include<opencv2/opencv.hpp>



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: