opencv C++ (5): チャネルの分離とマージ

チャンネルの分割と結合

これは非常に簡単で、API を分割してマージするだけです。例は以下のとおりです。

#include <iostream>
#include<opencv.hpp>
#include<opencv2\highgui\highgui.hpp>

using namespace std;
using namespace cv;

int main()
{
    
    

	Mat src = imread("src.jpg");
	if (src.empty())
	{
    
    
		cout << "could not open file!";
		cout << endl;
		return -1;
	}
	imshow("src", src);
	//1. 分离
	vector<Mat>mv;
	split(src, mv);
	int size = mv.size();
	cout << "channels numbers :" << size << endl;
	imshow("mv blue", mv[0]);
	imshow("mv Green", mv[1]);
	imshow("mv Red", mv[2]);

	//2. 合并
	Mat dst;
	mv[0] = Scalar(0);
	merge(mv, dst);
	imshow("dst", dst);
	waitKey(0);
	destroyAllWindows();
	return 0;
}

おすすめ

転載: blog.csdn.net/m0_59156726/article/details/134268519
おすすめ