【OpenCV学习】图像通道的GRB分割混合

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/

 

#include <cv.h>
#include <highgui.h>
int main(void)
{
    IplImage *Image1;
    IplImage *RedImage,*GreenImage,*BlueImage,*Merged;
    IplImage *Channel1,*Channel2,*Channel3;
    CvSize Size1;
    Image1=cvLoadImage("lena.jpg",1);
    Size1=cvGetSize(Image1);
    Channel1=cvCreateImage(Size1,IPL_DEPTH_8U,1);
    Channel2=cvCreateImage(Size1,IPL_DEPTH_8U,1);
    Channel3=cvCreateImage(Size1,IPL_DEPTH_8U,1);
    cvSplit(Image1,Channel1,Channel2,Channel3,0);
    BlueImage=cvCreateImage(Size1,IPL_DEPTH_8U,3);
    GreenImage=cvCreateImage(Size1,IPL_DEPTH_8U,3);
    RedImage=cvCreateImage(Size1,IPL_DEPTH_8U,3);
    Merged=cvCreateImage(Size1,IPL_DEPTH_8U,3);
    cvMerge(Channel1,0,0,0,BlueImage);
    cvMerge(0,Channel2,0,0,GreenImage);
    cvMerge(0,0,Channel3,0,RedImage);
    cvMerge(Channel1,Channel3,Channel1,0,Merged);
    cvNamedWindow("Red pic",1);
    cvShowImage("Red pic",RedImage);
    cvNamedWindow("Green pic",1);
    cvShowImage("Green pic",GreenImage);
    cvNamedWindow("Blue pic",1);
    cvShowImage("Blue pic",BlueImage);
    cvNamedWindow("Merged pic",1);
    cvShowImage("Merged pic",Merged);
    cvWaitKey(0);
}
posted @ 2012-06-30 20:38  gnuhpc  阅读(1864)  评论(0编辑  收藏  举报