opencv 将BGR转为HSV

来源:互联网 发布:python range迭代器 编辑:程序博客网 时间:2024/06/11 08:35
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_32FcvCvtColor( 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 );

0 0
原创粉丝点击