阅读量: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的值来获得不同的融合效果。