CvSize size = cvGetSize(img);
IplImage * floathsv =cvCreateImage(size,32,3);
IplImage * floatimg = cvCreateImage( size, 32, 3 );
IplImage *floatimgH = cvCreateImage( size, 32, 1 );
IplImage *floatimgS = cvCreateImage( size, 32, 1 );
IplImage *floatimgV = cvCreateImage( size, 32, 1 );
//cvConvertScale(img, floatimg, 1.0/255.0, 0 );
cvCvtColor( floatimg, floathsv,CV_BGR2HSV_FULL );
cvSplit( floathsv, floatimgH, floatimgS, floatimgV, NULL);
cvShowImage( "H通道", floatimgH );
cvShowImage( "S通道", floatimgS );
cvShowImage( "V通道", floatimgV );
cvSaveImage("h.bmp",floatimgH);
cvSaveImage("s.bmp",floatimgS);
cvSaveImage("v.bmp",floatimgV);
CvScalar hsvvalue;
hsvvalue=cvGet2D(floathsv,263,372);
printf("%f %f %f",hsvvalue.val[0],hsvvalue.val[1]*255,hsvvalue.val[2]*255);
发现在OPENCV中读取的HSV空间的数值与想象中的不一样,H 空间的值是352.XXXX, 而且对于多个不同位置像素点的比较H 的值都差不多,不知道是不是自己的代码问题。
HSV 空间在OPENCV 中的一些疑惑
最新推荐文章于 2022-05-11 14:34:58 发布