一、概述
案例:將兩張圖片混合成一張圖片,並且原圖的元素要保留到同一張圖片中。
二、示例圖片
1.混合后的圖片
2.原始的兩張圖片
三、示例代碼
//將兩張圖片進行混合 #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(int argc, char const *argv[]) { //加載並輸出原圖,要想混合圖片則這兩張圖片的大小和尺寸必須是一樣的 Mat src1 = imread("flow.jpg"); Mat girl = imread("girl.jpg"); imshow("girl",girl); imshow("src1",src1); Mat dst; //混合兩張圖片 if(girl.rows ==src1.rows && girl.cols == src1.cols){ double alpha = 0.5; /** * 第一個參數:要混合的第一張圖片 * 第二個參數:第一張圖片的透明度 * 第三個參數:要混合的第二張圖片 * 第四個參數:第三個參數的透明度 * gamma值 dst:混合后的輸出圖像 * * */ addWeighted(girl,0.3,src1,0.7,0.0,dst); imshow("dst",dst); waitKey(0); return 0; }else{ cout << "圖片大小不一致"<<endl; } return 0; }