本文为原创文章,未经本人允许,禁止转载。转载请注明出处。
1.线性混合操作
$g(x)=(1-\alpha)f_0(x)+\alpha f_1(x)$
其中$\alpha$的取值范围为0~1之间。
2.addWeighted
OpenCV中实现图像混合功能的API:
1
2
3
4
5
6
7
8
9
void cv::addWeighted(
inputArray src1,//参数1:输入图像Mat-src1
double alpha,//参数2:输入图像src1的alpha值
inputArray src2,//参数3:输入图像Mat-src2
double beta,//参数4:输入图像src2的beta值
double gamma,//参数5:gamma值
OutputArray dst,//参数6:输出混合图像
int dtype=-1//参数7:位图深度,-1表示和原图一样
)
⚠️两张图像的大小和类型必须一致才可以。
上述API的功能就相当于:dst(I)=saturate(src1(I)*alpha+src2(I)*beta+gamma)
,gamma用于调节混合图像的亮度值(或像素值)。
3.add、multiply
图像src1和图像src2大小和类型均一样,则两幅图像对应像素点的像素值相加得到混合后的新图像dst:add(src1,src2,dst)
。
图像src1和图像src2大小和类型均一样,则两幅图像对应像素点的像素值相乘得到混合后的新图像dst:multiply(src1,src2,dst)
。