我想计算一张图像的直方图,它的像素类型是32位浮点型。对于“calcHist”函数,以下应该是参数的值: - dims:图像的维度数,应为1。 - bins:直方图中每个bin的数量,可以自行设置。 - range:像素强度值的范围,应在[0, 1]之间。
我想计算一张图像的直方图,它的像素类型是32位浮点型。对于“calcHist”函数,以下应该是参数的值: - dims:图像的维度数,应为1。 - bins:直方图中每个bin的数量,可以自行设置。 - range:像素强度值的范围,应在[0, 1]之间。
我已经多次这样做过。大致如下:
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);
float fRange[] = { 0.f, 1.f + FLT_EPSILON };
来解决这个问题。 - undefined