图像混合
1 理论-线性混合操作
其中α的取值范围为0~1之间,表示图像的所占的权重
2 混合处理函数addWeighted()
3 代码示例
Mat src1, src2, dst;src1 = imread("./1.png");src2 = imread("./2.png");if (!src1.data && src2.empty()) //判断图片是否加载成功!{std::cout << "打开图片失败!" << std::endl;return -1;}double alpha = 0.6;if (src1.rows == src2.rows && src1.cols == src2.cols) {addWeighted(src1, alpha, src2, 1.0 - alpha ,0.0 ,dst);imshow("src1 image", src1);imshow("src2 image", src2);imshow("dst image", dst);}else{std::cout << "2张图片大小不同,不能处理!" << std::endl;return -1;}waitKey(100000);
其他混合图像接口
(1) add()将两个和图片相加
if (src1.rows == src2.rows && src1.cols == src2.cols) {add(src1, src2,dst);imshow("src1 image", src1);imshow("src2 image", src2);imshow("dst image", dst);}
(2) multiply()将两个和图片相乘
if (src1.rows == src2.rows && src1.cols == src2.cols) {multiply(src1, src2, dst);imshow("src1 image", src1);imshow("src2 image", src2);imshow("dst image", dst);}
个人学习opencv总结,如有错误请大佬指正,谢谢!