opencv 图像的线性混合

1 线性混合理论

   g(x) = (1-α)*f1(x) + α*f2(x)

  其中,α代表图像的权重

#include<iostream>
#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main(int argc, char **argv)
{
    Mat src1 = imread("D:/meinv.jpg");
    namedWindow("第一幅图像", CV_WINDOW_AUTOSIZE);
    imshow("第一幅图像", src1);

    Mat src2 = imread("D:/t.jpg");
    namedWindow("第二幅图像", CV_WINDOW_AUTOSIZE);
    imshow("第二幅图像", src2);

    if (src1.rows == src2.rows && src1.cols == src2.cols && src1.type() == src2.type())
    {
        Mat dst;
        addWeighted(src1, 0.5, src2, 0.5, 0.0, dst);     //相关API  权重各占0.5
        //add(src1, src2, dst);
        imshow("混合的图像为",dst); 
    }
    
    waitKey(0);
    return 0;

}

 显示结果为:

原图:

混合后的图像

原文地址:https://www.cnblogs.com/carlber/p/9610315.html