【OpenCV】addWeighted函数

addWeighted函数

  • 功能介绍
  • 代码
  • 效果展示

功能介绍

addWeighted()函数是将两张相同大小,相同类型的图片融合的函数,可以实现图片的特效。

void cvAddWeighted(const CvArr* src1, double alpha,const CvArr* src2, double beta,double gamma, CvArr* dst);

  • 参数1:src1,第一个原数组;
  • 参数2:alpha,第一个数组元素权重;
  • 参数3:src2第二个原数组;
  • 参数4:beta,第二个数组元素权重;
  • 参数5:gamma,图1与图2作和后添加的数值。不要太大,不然图片一片白。总和等于255以上就是纯白色了;
  • 参数6:dst,输出图片。

代码

#include 
#include 
 
using namespace std;
using namespace cv;
 
int main()
{
	Mat src1,src2,dst;//创建Mat数组,等待存储图片
	src1 = imread("1.jpg");
	src2 = imread("2.jpg");
 
	//将图1与图2线性混合
	addWeighted(src1,0.5,src2,0.7,3,dst);
	/*注释
	参数分别为:图1,图1的权重,图2,图2的权重,权重和添加的值为3,输出图片src
	*/
	//显示图片
	imshow("src1图",src1);
	imshow("src2图",src2);
	imshow("混合后的图片",dst);
	waitKey(0);//等待按键响应后退出,0改为5000就是5秒后自动退出。
	return 0;
}

效果展示

【OpenCV】addWeighted函数_第1张图片
【OpenCV】addWeighted函数_第2张图片

你可能感兴趣的:(OpenCV)