使用opencv提取RGB图像的三个通道,并显示

opencv中有一个非常实用的函数:

mixChannels

具体用法可以百度:

代码:

#include 
#include
#include


using namespace std;
using namespace cv;


int main()
{
	Mat img;
	img = imread("timg.jpg");
	for (int i = 0; i < 3; i++)
	{
		Mat bgr(img.rows, img.cols, CV_8UC3, Scalar(0, 0, 0));
		Mat temp(img.rows, img.cols, CV_8UC1);
		Mat out[] = { bgr };
		int from_to[] = { i,i };
		mixChannels(&img, 1, out, 1, from_to,1);
		//获得其中一个通道的数据进行分析
		imshow("1 channel", bgr);
		waitKey();
	}
}

原始图像:

使用opencv提取RGB图像的三个通道,并显示_第1张图片

效果:

使用opencv提取RGB图像的三个通道,并显示_第2张图片

使用opencv提取RGB图像的三个通道,并显示_第3张图片

使用opencv提取RGB图像的三个通道,并显示_第4张图片

你可能感兴趣的:(C++,opencv)