【opencv】图像通道分离与合并

目录:
1.split()
2.merge()

1.split()
【opencv】图像通道分离与合并_第1张图片

参数一:输入图像
参数二:分离图像数组

代码演示:

#include
#include

using namespace std;
using namespace cv;

int main()
{
	Mat img = imread("D:\\photogallery\\人物\\image_5.png");

	vector<Mat> mv;
	split(img, mv);
	//mv[1] = Scalar(0);

	
	imshow("blue channl", mv[0]);
	imshow("green channl", mv[1]);
	imshow("red channl", mv[2]);
	imshow("img", img);

	waitKey(0);

	return 0;
}

【opencv】图像通道分离与合并_第2张图片
分离完后,会是三张灰度图,这是因为现在图像已经变成单通道,其灰度值就代表它之前在其所在通道的比重。

2.merge()
【opencv】图像通道分离与合并_第3张图片

参数一:输入图像数组
参数二:输出图像

见代码示例

#include
#include

using namespace std;
using namespace cv;

int main()
{
	Mat img = imread("D:\\photogallery\\人物\\image_5.png");

	vector<Mat> mv;
	split(img, mv);
	mv[1] = Scalar(0);//把绿色通道置0
	//bitwise_not(mv[1], mv[1]);//绿色通道取反
	Mat dest;
	merge(mv, dest);
	imshow("blue channl", mv[0]);
	imshow("green channl", mv[1]);
	imshow("red channl", mv[2]);
	imshow("dest", dest);
	imshow("img", img);

	waitKey(0);

	return 0;
}

【opencv】图像通道分离与合并_第4张图片

你可能感兴趣的:(opencv,计算机视觉,图像处理)