OpenCV彩色图像转灰度图

核心函数cvSplit()。

#include<cv.h>
#include<highgui.h>

int main(int argc, char** argv)
{
    IplImage* img = cvLoadImage(argv[1]);
    IplImage* imgR = cvCreateImage(cvGetSize(img), 8, 1);
    IplImage* imgG = cvCreateImage(cvGetSize(img), 8, 1);
    IplImage* imgB = cvCreateImage(cvGetSize(img), 8, 1);

    cvSplit(img, imgR, imgG, imgB, NULL);       //核心函数

    cvNamedWindow("彩色图");
    cvNamedWindow("灰度图R");
    cvNamedWindow("灰度图G");
    cvNamedWindow("灰度图B");

    cvShowImage("彩色图", img);
    cvShowImage("灰度图R", imgR);
    cvShowImage("灰度图G", imgG);
    cvShowImage("灰度图B", imgB);

    cvWaitKey(0);

    cvReleaseImage(&img);
    cvReleaseImage(&imgR);
    cvReleaseImage(&imgG);
    cvReleaseImage(&imgB);

    cvDestroyAllWindows();
}

结果图:
这里写图片描述

posted @ 2016-05-24 10:31  huahai  阅读(1551)  评论(0编辑  收藏  举报