OpenCV - 簡單圖像融合

在OpenCV中,將兩個圖片矩陣進行融合變成一個圖片用到的是cvAddWeighted函數。在cvAddWeighted函數中,有兩個源圖象image1 和 image2。兩個圖象可以是任何象素類型,只要它們的類型相同。它們可以是單通道或是三通道,只要它們相符。但它們的ROI必須有相同的大小,否則會編譯出錯!

#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;

int main()
{
	Mat image = imread("C:\\Desktop\\1.jpg",199);
	Mat logo = imread("C:\\Desktop\\4.jpg");

	namedWindow("原畫圖");
	imshow("原畫圖", image);
	namedWindow("logo圖");
	imshow("logo圖", logo);
	
	Mat imageROI;
	imageROI = image(Rect(400, 350, logo.cols, logo.rows));
	addWeighted(imageROI, 0.3, logo, 0.7, 0., imageROI);//將圖像加到原圖上
	namedWindow("融合效果圖");
	imshow("融合效果圖", image);
	waitKey();
	return 0;
}

程序運行後,處理後的圖像如圖:




發佈了73 篇原創文章 · 獲贊 276 · 訪問量 84萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章