【图像处理】 06图像混合

基础知识
【图像处理】 06图像混合
【图像处理】 06图像混合

代码演示

使用 addWeighted()函数让两张图片相加

#include <opencv2/opencv.hpp>

#include <iostream>

using namespace cv;

using namespace std;

int main(int argc, char** argv)

{

     Mat src1,src2,dst;

     src1 = imread("C:/daima practice/opencv/mat1/mat1/image3.jpg");

     src2 = imread("C:/daima practice/opencv/mat1/mat1/image4.jpg");

     if (!src1.data)

     {

           printf("could not load image3...\n");

           return -1;

     }

     if (!src2.data)

     {

           printf("could not load image4...\n");

           return -1;

     }

     namedWindow("图片1",WINDOW_AUTOSIZE);

     namedWindow("图片2",WINDOW_AUTOSIZE);

     imshow("图片1",src1);

     imshow("图片2",src2);

 

     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);//将两张图片相加。

           //multiply(src1,src2,dst,1.0);//将两张图片相乘      

           namedWindow("混合后的图",CV_WINDOW_AUTOSIZE);

           imshow("混合后的图",dst);

     }

     else

     {

           printf("不能输出,图片大小不确定\n");

           return -1;

     }

     waitKey(0);

     return 0;

}

//效果显示

【图像处理】 06图像混合