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 );
opencv 将BGR转为HSV
最新推荐文章于 2024-07-22 09:38:09 发布