兩張同尺寸、同型別影像逐像素加權相加:

α ∈ [0,1], β = 1 - α, γ = 0(常數項)。
addWeighted 函式
void addWeighted(InputArray src1, double alpha,
InputArray src2, double beta,
double gamma, OutputArray dst);
實際計算:dst = α·src1 + β·src2 + γ
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
int main() {
double alpha = 0.5, beta, input;
Mat src1, src2, dst;
std::cout << "Simple Linear Blender\n-----------------------\n";
std::cout << "* Enter alpha [0-1]: "; std::cin >> input;
if (input >= 0.0 && input <= 1.0) alpha = input;
src1 = imread("zh.png");
src2 = imread("zh2.png");
if (!src1.data || !src2.data) { printf("Error loading images\n"); return -1; }
beta = 1.0 - alpha;
addWeighted(src1, alpha, src2, beta, 0.0, dst);
namedWindow("Linear Blend", 1);
imshow("Linear Blend", dst);
waitKey(0);
return 0;
}
圖片 1:
圖片 2:
融合結果 (α=0.5):