两幅图像混合,也就是算数操作,例如相加、相乘等。其实还可以去噪的,但是我还不会。今天先总结学的东西吧。明天再看具体应用
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
//读入打开图像
Mat src1, src2,dst;
src1 = imread("d:/king.jpg");
if (src1.empty()) {
cout << "加载图像失败" << endl;
}
src2 = imread("d:/ten.jpg");
if (src2.empty()) {
cout << "加载图像失败" << endl;
}
double alpha = 0.5;
if (src1.rows == src2.rows&&src1.cols == src2.cols&&src1.type() == src2.type()) {
//addWeighted(src1, alpha, src2, (1 - alpha), 0.0, dst, -1);
//add(src1, src2, dst, Mat());//生硬相加
multiply(src1, src2, dst, 1.0);//相乘
imshow("king", src1);
imshow("ten", src2);
namedWindow("output", WINDOW_AUTOSIZE);
imshow("output", dst);
}
else {
cout << "类型不匹配" << endl;
}
waitKey(0);
return 0;
}