#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
int main()
{
IplImage *img;
IplImage *Rimg,*Gimg,*Bimg;
IplImage *Bimg3,*Gimg3,*Rimg3;
img=cvLoadImage("D:/cat.jpg");
Bimg=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
Gimg=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
Rimg=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
cvSplit(img,Bimg,Gimg,Rimg,0);
Bimg3=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,3);
Gimg3=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,3);
Rimg3=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,3);
cvMerge(Bimg,0,0,0,Bimg3);
cvMerge(0,Gimg,0,0,Gimg3);
cvMerge(0,0,Rimg,0,Rimg3);
cvNamedWindow("img",CV_WINDOW_AUTOSIZE);
cvNamedWindow("Bimg3",CV_WINDOW_AUTOSIZE);
cvNamedWindow("Gimg3",CV_WINDOW_AUTOSIZE);
cvNamedWindow("Rimg3",CV_WINDOW_AUTOSIZE);
cvShowImage("img",img);
cvShowImage("Bimg3",Bimg3);
cvShowImage("Gimg3",Gimg3);
cvShowImage("Rimg3",Rimg3);
//cvNamedWindow("img",CV_WINDOW_AUTOSIZE);
//cvNamedWindow("Bimg",CV_WINDOW_AUTOSIZE);
//cvNamedWindow("Gimg",CV_WINDOW_AUTOSIZE);
//cvNamedWindow("Rimg",CV_WINDOW_AUTOSIZE);
//cvShowImage("img",img);
//cvShowImage("Bimg",Bimg);
//cvShowImage("Gimg",Gimg);
//cvShowImage("Rimg",Ricmg);
cvWaitKey(0);
return 0;
}
学会使用:cvPlist和cvMerge