Opencv C++ 圖像通道合併與拆分

Opencv C++ 圖像通道合併與拆分

圖片下載:
鏈接: https://pan.baidu.com/s/1RppuU7_28Tri3Mgzv9k_fw 提取碼: 2djg

#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>

using namespace std;
using namespace cv;

int main()
{
	//1.讀取圖片
	Mat img_jugg = imread("../data/dota_jugg.jpg");
	Mat img_logo = imread("../data/dota_logo.jpg", 0);

	//2.拆分圖片
	Mat img_channels[3];
	split(img_jugg, img_channels);

	//3.區域圖片混合
	Mat img_blue = img_channels[0];
	Mat img_roi = img_blue(Rect(500, 250, img_logo.cols, img_logo.rows));

	addWeighted(img_roi, 0.7, img_logo, 0.3, 0, img_roi);

	//4.圖片組合
	Mat img_merge;
	merge(img_channels, 3, img_merge);

	//5.顯示圖片
	imshow("img_jugg", img_jugg);
	imshow("logo", img_logo);
	imshow("blue", img_blue);
	imshow("merge", img_merge);

	waitKey();
	destroyAllWindows();
	return 0;
}

處理結果:
在這裏插入圖片描述

//拆分
void cv::split(
const Mat & src,	//輸入圖片;
Mat * 	 mvbegin 	//通道拆分後的圖片;
)	

//組合
void cv::merge(	
const Mat* 	mv, 	//分通道圖片數
size_t 	    count,  //合併的通道數
OutputArray dst 	//輸出合併後的圖片
)	
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章