彩色图像RGB通道分别读到三个灰度图像

使用spit函数轻松分离图像通道
本文介绍如何使用spit函数将彩色图像分解为独立的RGB通道,并通过创建命名窗口展示每个通道,帮助理解图像处理的基础知识。

这个刚开始不知道怎么弄,后来问了下网友,原来一个spit函数搞定!

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

int main()
{

	IplImage* src = cvLoadImage( "F:\\hehua.jpg", 1 );
	IplImage * RedChannel = cvCreateImage( cvGetSize(src), 8, 1);
	IplImage * GreenChannel = cvCreateImage( cvGetSize(src), 8, 1);
	IplImage * BlueChannel = cvCreateImage( cvGetSize(src), 8, 1);
	IplImage * alphaChannel = cvCreateImage( cvGetSize(src), 8, 1);
	cvSplit(src,BlueChannel,GreenChannel,RedChannel,0);

	cvNamedWindow( "RedChannel", 1 );
	cvNamedWindow( "GreenChannel", 1 );
	cvNamedWindow( "BlueChannel", 1 );
	cvNamedWindow( "lphaChannel", 1 );

	cvShowImage( "RedChannel", RedChannel );
	cvShowImage( "GreenChannel", GreenChannel );
	cvShowImage( "BlueChannel", BlueChannel );
	cvShowImage( "lphaChannel", alphaChannel );

	cvWaitKey(0);
	cvReleaseImage( &RedChannel );
	cvReleaseImage( &GreenChannel );
	cvReleaseImage( & BlueChannel );
	cvReleaseImage( & alphaChannel );

	return 0;
}

注意通道的顺序,因为opencv内图像存放顺序为BGR,所以再写

cvSplit(src,BlueChannel,GreenChannel,RedChannel,0);

时顺序要对!大家可以试下,呵呵!得意
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值