cv::addWeighted
时间: 2024-02-04 17:02:54 浏览: 76
cv::addWeighted函数是OpenCV中用于图像混合的函数。它可以将两个输入图像按照一定的权重进行线性混合,并输出混合后的图像。
函数原型如下:
```cpp
void cv::addWeighted(InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst, int dtype = -1)
```
参数解释:
- `src1`:第一个输入图像,可以是Mat类型或者图像矩阵。
- `alpha`:第一个输入图像的权重系数。
- `src2`:第二个输入图像,可以是Mat类型或者图像矩阵。
- `beta`:第二个输入图像的权重系数。
- `gamma`:图像混合的偏置值。
- `dst`:输出混合后的图像,可以是Mat类型或者图像矩阵。
- `dtype`:输出图像的数据类型,默认为-1,表示与输入图像的数据类型保持一致。
下面是一个示例代码,演示了如何使用cv::addWeighted函数进行图像混合:
```cpp
#include <opencv2/opencv.hpp>
int main()
{
cv::Mat src1 = cv::imread("image1.jpg");
cv::Mat src2 = cv::imread("image2.jpg");
cv::Mat dst;
double alpha = 0.5;
double beta = 0.5;
double gamma = 0;
cv::addWeighted(src1, alpha, src2, beta, gamma, dst);
cv::imshow("Blended Image", dst);
cv::waitKey(0);
return 0;
}
```
这段代码中,我们首先读取了两张输入图像(image1.jpg和image2.jpg),然后定义了混合的权重系数alpha和beta,以及偏置值gamma。最后调用cv::addWeighted函数进行图像混合,并将结果显示出来。
阅读全文