滑动条的创建和使用

#include "stdafx.h"
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\imgproc\imgproc.hpp>

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 - g_dAlphaValue;

    addWeighted(g_srcImage1, g_dAlphaValue, g_srcImage2, g_dBetaValue, 0.0, g_dstImage);

    imshow(WINDOW_NAME, g_dstImage);
}


int _tmain(int argc, _TCHAR* argv[])
{

    g_srcImage1 = imread("D:\\pic\\demo1.jpg",1);
    g_srcImage2 = imread("D:\\pic\\demo.jpg", 1);

    g_nAlphaValueSlider = 70;

    namedWindow(WINDOW_NAME, 2);
    char TrackbarName[50];
    sprintf(TrackbarName, "透明值%d ", g_nMaxAlphaValue);
    createTrackbar(TrackbarName, WINDOW_NAME, &g_nAlphaValueSlider, g_nMaxAlphaValue,
        on_TrackBar);
    on_TrackBar(g_nAlphaValueSlider, 0);
    waitKey();
    system("pause");


    waitKey();
    system("pause");

    return 0;
}

猜你喜欢

转载自blog.csdn.net/u014801811/article/details/80069559