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

简介:

#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);
}

本文转自gnuhpc博客园博客,原文链接http://www.cnblogs.com/gnuhpc/archive/2012/06/30/2571304.html,如需转载请自行联系原作者
相关文章
|
1月前
|
存储 资源调度 算法
Opencv(C++)系列学习---SIFT、SURF、ORB算子特征检测
Opencv(C++)系列学习---SIFT、SURF、ORB算子特征检测
|
1月前
|
算法 C++ 计算机视觉
Opencv(C++)学习系列---Laplacian拉普拉斯边缘检测算法
Opencv(C++)学习系列---Laplacian拉普拉斯边缘检测算法
|
1月前
|
算法 计算机视觉 C++
Opencv(C++)学习系列---Sobel索贝尔算子边缘检测
Opencv(C++)学习系列---Sobel索贝尔算子边缘检测
|
1月前
|
算法 C++ 计算机视觉
Opencv(C++)学习系列---Canny边缘检测算法
Opencv(C++)学习系列---Canny边缘检测算法
|
1月前
|
存储 计算机视觉 C++
Opencv(C++)学习系列---特征点检测和匹配
Opencv(C++)学习系列---特征点检测和匹配
|
1月前
|
算法 测试技术 计算机视觉
Opencv(C++)系列学习---opencv_contrib安装
Opencv(C++)系列学习---opencv_contrib安装
|
1月前
|
C++ 计算机视觉
Opencv(C++)系列学习---读取视频文件和打开摄像头
Opencv(C++)系列学习---读取视频文件和打开摄像头
|
1月前
|
存储 计算机视觉 C++
Opencv (C++)系列学习---模板匹配
Opencv (C++)系列学习---模板匹配
|
1月前
|
计算机视觉
OpenCV(三十):图像膨胀
OpenCV(三十):图像膨胀
20 0
|
1月前
|
计算机视觉
OpenCV(二十九):图像腐蚀
OpenCV(二十九):图像腐蚀
25 0