opencv split函数分离将图片分为Lab三通道

先放原图

#include <cv.h>  
#include <highgui.h>  
#include <iostream>  
#include "opencv2/opencv.hpp"

using namespace cv;
using namespace std;

int main()
{
	vector<Mat> channels;
	Mat imageLChannel;
	Mat imageaChannel;
	Mat imagebChannel;
	Mat src = imread("timg.jpg"); //图片一定要放在工程文件夹里
	//当然也可以使用图片的绝对路径,如E盘下的timg文件读取: Mat src = imread("E:\\timg.jpg");
	Mat srcImage4;
	cvtColor(src, srcImage4, CV_RGB2Lab);//将图像由RGB形式转换为Lab形式
        split(srcImage4, channels);//分离色彩通道  

	imageLChannel = channels.at(0); //L通道
	imageaChannel = channels.at(1);  //a通道
	imagebChannel = channels.at(2);  //b通道
	imshow("imageL", imageLChannel);
	imshow("imagea", imageaChannel);
	imshow("imageb", imagebChannel);
	waitKey();
	return 0;
}
L通道图像如下:


a通道:


b通道:




猜你喜欢

转载自blog.csdn.net/ranghanqiao5058/article/details/79183334