OpenCV怎么实现图像的融合和叠加

avatar
作者
筋斗云
阅读量:1

在OpenCV中,可以通过addWeighted()函数来实现图像的融合和叠加。addWeighted()函数的语法如下:

void addWeighted(InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst); 

其中,src1和src2分别为要融合的两幅图像,alpha和beta分别为两幅图像的权重系数,gamma为融合后图像的亮度值,dst为输出的融合后的图像。

示例代码如下:

#include <opencv2/opencv.hpp>  using namespace cv;  int main() {     Mat img1 = imread("image1.jpg");     Mat img2 = imread("image2.jpg");      if (img1.empty() || img2.empty()) {         std::cout << "Error: Image not found!" << std::endl;         return -1;     }      Mat blendedImage;     double alpha = 0.5;     double beta = 0.5;     double gamma = 0;          addWeighted(img1, alpha, img2, beta, gamma, blendedImage);      imshow("Blended Image", blendedImage);     waitKey(0);      return 0; } 

在这个例子中,我们将两幅图像img1和img2按照权重系数alpha和beta进行融合,结果保存在blendedImage中,并显示出来。您可以调整alpha和beta的值来获得不同的融合效果。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!