opencv 图像叠加滚动条

#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小姐姐玩捉迷藏吧

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值