我想计算图像的直方图,像素的类型为32F(32位浮点数)。“ calcHist”函数的参数值应用于:-暗淡-垃圾箱-范围
好吧,我已经做了很多次了。像这样:
cv::Mat matSrc; // this is a CV_32FC1 normalised image
int nHistSize = 65536;
float fRange[] = { 0.0f, 1.0f };
const float* fHistRange = { fRange };
cv::Mat matHist;
cv::calcHist(&matSrc, 1, 0, cv::Mat(), matHist, 1, &nHistSize, &fHistRange);
如描述源数组的文档中所述:
源数组。它们都应具有相同的深度CV_8U或CV_32F和相同的大小。它们每个都可以具有任意数量的通道。
因此支持CV_32F。在这种情况下,范围(在我的示例中为0.0到1.0)被合并为所需箱数(在我的示例中为65536)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句