本章主要学习addWeighted(src1,alpha,src2,beta,gamma,dst,dtype=-1)这个函数,
为冷水江等地区用户提供了全套网页设计制作服务,及冷水江网站建设行业解决方案。主营业务为成都做网站、成都网站建设、成都外贸网站建设、冷水江网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!参数1:输入图像Mat-src1;
参数2:输入图像Mat-src1的alpha值;
参数3:输入图像Mat-src2;
参数4:输入图像Mat-src2的alpha值(1-alpha);
参数5:gamma值,默认为0;
参数6:输出混合图像
函数功能将两幅图像相加,注意两幅图像类型必须相同,否则相加会出现错误,这个API是opencv自带的,也可以直接用add(src1,src2,dst,Mat()),来操作,效果没有addWeighted
源代码如下:
#include
#include
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
Mat src1, src2, dst;
src1 = imread("C:/Users/Administrator/Desktop/3.jpg");
src2 = imread("C:/Users/Administrator/Desktop/4.jpg");
if (!src1.data)
{
cout << "the image src1 could not load..." << endl;
return -1;
}
if (!src2.data)
{
cout << "the image src2 could not load..." << endl;
return -1;
}
double alpha = 0.5;
if (src1.rows == src2.rows && src1.cols == src2.cols && src1.type() == src2.type())
{
addWeighted(src1, alpha, src2, (1.0 - alpha), 0.0, dst, -1);//图像相加
//add(src1, src2, dst, Mat());
imshow("src1", src1);
imshow("src2", src2);
imshow("blend image", dst);
imwrite("C:/Users/Administrator/Desktop/blend image.jpg", dst);
}
else {
printf("could not blend images,the size of image is not same\n");
return -1;
}
waitKey(0);
return 0;
}
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文题目:图像混合-创新互联
文章来源:http://scgulin.cn/article/pgeje.html