发布网友 发布时间:2022-04-23 07:44
共2个回答
热心网友 时间:2022-06-17 21:04
double avgR = 0,avgG = 0,avgB = 0,avergeR,avergeG,avergeB;
定义了这么多双精度浮点,但是输出的时候用的是%d,尝试使用浮点输出;或者强制转换为整型后输出
热心网友 时间:2022-06-17 21:04
cvAvg可以求图像均值追问但是我想求取的是RGB通道非零值得均值,cvAvg这个函数不是求非零值
追答你确定一下图像的深度是什么类型8U,16S,F。
还有可能是avgG+=DATAG[i*step+j*channels+k]的时候强制数据类型转换了,将源图像数据转为了double类型。如果源图像是8U,转换相当于将[0~255]转换到[-1.79E+308,+1.79E+308]。
另外,cvCountNonZero可以统计出非零元素个数么,虽然cvAvg求出的是均值,简单运算不就可以了么。avg*all/nonzero即可。