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 	//输出合并后的图片
)	
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章