#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
bool LinearBlending();
int main(int argc, char ** argv)
{
LinearBlending();
waitKey(0);
return(0);
}
/*圖像線性混合*/
bool LinearBlending()
{
double alphaValue = 0.5;
double betaValue;
Mat srcImage1, srcImage2, dstImage;
srcImage1 = imread(".//image5.2.1//mogu.jpg");
srcImage2 = imread(".//image5.2.1//rain.jpg");
if (!srcImage1.data) {
printf("srcImage1 圖像資料讀取失敗!\n");
return false;
}
if (!srcImage2.data) {
printf("srcImage2 圖像資料讀取失敗!\n");
return false;
}
betaValue = 1.0 - alphaValue;
addWeighted(srcImage1, alphaValue, srcImage2, betaValue, 0.0, dstImage);
namedWindow("線性混合-原圖", 1);
imshow("線性混合-原圖", srcImage1);
namedWindow("線性混合-效果圖", 1);
imshow("線性混合-效果圖", dstImage);
return true;
}
運作:
參考: