opencv 将BGR转为HSV

char* srcimg = "fj.jpg";
 	char* smoothtitle = "SmmonthImg";
	//char srcname[]="group_uncheck";
	
 	IplImage* pSrcImg = cvLoadImage( srcimg );
 	if( pSrcImg == NULL ) return;

	IplImage* pDestImg = cvCreateImage( cvGetSize( pSrcImg ),IPL_DEPTH_32F,3);
 	if( pDestImg == NULL ) return;
	
	IplImage* img_src = cvCreateImage( cvGetSize( pSrcImg ),IPL_DEPTH_32F,3);
	if( img_src == NULL ) return;

	cvConvertScale( pSrcImg,pDestImg,1.0,0);//IPL_DEPTH_8U=>IPL_DEPTH_32F
	cvCvtColor( pDestImg,img_src,CV_BGR2HSV );//BGR==>HSV(深度要一致)

	IplImage* img_h = cvCreateImage( cvGetSize( pSrcImg ),IPL_DEPTH_32F,1 );
	IplImage* img_s = cvCreateImage( cvGetSize( pSrcImg ),IPL_DEPTH_32F,1 );
	IplImage* img_v = cvCreateImage( cvGetSize( pSrcImg ),IPL_DEPTH_32F,1 );

	cvSplit( img_src,img_h,img_s,img_v,NULL );

	IplImage* img = cvCreateImage( cvGetSize( pSrcImg ),IPL_DEPTH_8U,3 );
	IplImage* h = cvCreateImage( cvGetSize( pSrcImg ),IPL_DEPTH_8U,1 );
	IplImage* s = cvCreateImage( cvGetSize( pSrcImg ),IPL_DEPTH_8U,1 );
	IplImage* v = cvCreateImage( cvGetSize( pSrcImg ),IPL_DEPTH_8U,1 );

	cvConvertScale( img_h,h,( 1.0/360.0)*255.0,0 );
	cvConvertScale( img_s,s,255.0,0 );
	cvConvertScale( img_v,v,1.0,0 );
	//cvCvtColor(  );
	cvMerge( h,s,v,NULL,img );
	
	cvNamedWindow( "hsv",CV_WINDOW_AUTOSIZE );
	cvShowImage( "hsv",img );
	cvWaitKey( 0 );

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值