您的位置:首页 > 运维架构

opencv 图像叠加滚动条

2017-07-29 09:44 148 查看
#include<opencv2/opencv.hpp>
#include<iostream>

#define WINDOW_NAME "图像叠加"
using namespace std;
using namespace cv;

const int g_nMaxAlphaValue = 100;//alpha的最大值
int g_nAlphaValueSlider;//滑动条对应的变量
double g_dAlphaValue;
double g_dBetaValue;

//申明存储图像的变量
Mat g_srcImage1;
Mat g_srcImage2;
Mat g_dstImage;
Mat g_dstImage2;

//回调函数
void on_Trackbar(int ,void*) {
g_dAlphaValue = (double)g_nAlphaValueSlider / g_nMaxAlphaValue;
g_dBetaValue = 1.0 - g_dAlphaValue;
addWeighted(g_dstImage2, g_dAlphaValue, g_srcImage2, g_dBetaValue,
0.0, g_dstImage);
imshow(WINDOW_NAME, g_dstImage);
}

int main() {
g_srcImage1 = imread("C:\\Users\\Public\\Pictures\\Sample Pictures\\overwatch.jpg");
g_srcImage2 = imread("C:\\Users\\Public\\Pictures\\Sample Pictures\\logo.jpg");
g_dstImage2= g_srcImage1(Rect(800, 400, g_srcImage2.cols, g_srcImage2.rows));
g_nAlphaValueSlider = 50;
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);
return 0;
}

这里就能看见我们可爱的DVA与logo叠加在一起了,通过滚动条可以调节透明度,来和DVA小姐姐玩捉迷藏吧

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opencv 滚动条