opencv 图像的线性混合
Posted carlber
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv 图像的线性混合相关的知识,希望对你有一定的参考价值。
1 线性混合理论
g(x) = (1-α)*f1(x) + α*f2(x)
其中,α代表图像的权重
#include<iostream> #include<opencv2/opencv.hpp> using namespace std; using namespace cv; int main(int argc, char **argv) { Mat src1 = imread("D:/meinv.jpg"); namedWindow("第一幅图像", CV_WINDOW_AUTOSIZE); imshow("第一幅图像", src1); Mat src2 = imread("D:/t.jpg"); namedWindow("第二幅图像", CV_WINDOW_AUTOSIZE); imshow("第二幅图像", src2); if (src1.rows == src2.rows && src1.cols == src2.cols && src1.type() == src2.type()) { Mat dst; addWeighted(src1, 0.5, src2, 0.5, 0.0, dst); //相关API 权重各占0.5 //add(src1, src2, dst); imshow("混合的图像为",dst); } waitKey(0); return 0; }
显示结果为:
原图:
混合后的图像
以上是关于opencv 图像的线性混合的主要内容,如果未能解决你的问题,请参考以下文章
opencv4opencv视频教程 C++ 6图像混合线性混合混合权重相加addWeighted()混合加add()混合乘multiply()