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