||
1. 颜色空间变换 RGB--> HSV
cvCvtColor(src,dst,CV_RGB2HSV);
2. 颜色通道分开
cvCvtPixToPlane(src,H,S,V,0); //或者用 cvSplit(src,h,s,v)
3. 建立、计算、访问直方图
CvHistogram* hist;
{
int hist_size[] = {h_bins,s_bins, v_bins};
float h_ranges[] = {0,255};
float s_ranges[] = {0,255};
float v_ranges[] = {0,255};
float* ranges[] = {h_ranges, s_ranges, v_ranges};
hist = cvCreateHist(3,hist_size,CV_HIST_ARRAY,ranges,1);
}
cvCalcHist(HSV,hist,0,0);
int bin_val = cvQueryHistValue_3D(hist,h,s,v);
4. opencv中的HSV空间三个通道的数值范围被转化到了【0,255】
5.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-5-20 18:09
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社