函数说明
用于两幅图片的融合:
d
s
t
r
o
w
,
c
o
l
dst_{row,col}
dstrow,col =
a
l
p
h
a
∗
s
r
c
1
r
o
w
,
c
o
l
+
b
e
t
a
∗
s
r
c
2
r
o
w
,
c
o
l
+
g
a
m
a
alpha*src1_{row,col} + beta*src2_{row,col}+gama
alpha∗src1row,col+beta∗src2row,col+gama
参数说明
src1和src2大小需要相同
Core.addWeighted(Mat src1, double alpha, Mat src2, double beta, double gama, Mat dst);
src1 – 图片1
alpha – 图片1权重
src2 – 图片2
beta – 图片2权重
gama – 图片1和图片2求和后偏移量
dst – 目标图
测试代码
import org.opencv.core.*;
import org.opencv.imgcodecs.Imgcodecs;
public class OpenCVTest {
static{ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); }
public static void main(String[] args) {
//读入图片
Mat src1 = Imgcodecs.imread("F:\\opencvPhoto\\photo\\src1.jpg");
Mat src2 = Imgcodecs.imread("F:\\opencvPhoto\\photo\\src2.jpg");
Mat dst = new Mat();
//图片融合
Core.addWeighted(src1, 0.5, src2, 0.5, 0, dst);
Imgcodecs.imwrite("F:\\opencvPhoto\\result\\dst.jpg", dst);
}
}
图片测试
src1
src2
dst融合结果