我想计算图像像素类型为 32F(32 位浮点)的直方图。“calcHist”函数的参数值应该是什么: - dims - bins - range
嗯,我已经做过很多次了。像这样:
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);
Run Code Online (Sandbox Code Playgroud)
正如描述源数组的文档中所说:
源数组。它们都应该具有相同的深度, CV_8U 或 CV_32F ,以及相同的大小。它们中的每一个都可以有任意数量的通道。
所以支持 CV_32F。在这种情况下,范围(在我的示例中为 0.0 到 1.0)被划分为所需的 bin 数量(在我的示例中为 65536)。
归档时间: |
|
查看次数: |
3508 次 |
最近记录: |