【发布时间】:2015-04-22 05:27:45
【问题描述】:
我正在使用这个 opencv 函数来计算直方图(蓝色)。
calcHist( &bgr_planes[0], 1, 0, Mat(), b_hist, 1, &histSize, &histRange, uniform, accumulate );
这里我们使用图像中的所有像素来计算直方图。假设我需要使用每 10 个像素或第 100 个像素计算直方图。有没有一种有效的方法来做到这一点?我需要这样做,因为我认为即使丢失了一些细节,它也可能会提高直方图计算的性能。
感谢任何帮助。
【问题讨论】:
-
为什么不创建另一个只包含您想要的像素的图像呢?并在该图像上运行 calchist?
-
@Gilad - 我认为这会影响我的算法的性能。如果我错了,请纠正我。
-
我同意@Gilad,这可能是最好的解决方案。虽然我不明白使用更少的样本会如何提高“直方图的性能”。
-
@a-Jays 我不能谈论这个特定的数据集,但是将像素数减少一个数量级肯定会减少计算直方图所需的时间(记住你需要对每个像素进行分类)。但是,删除或选择要使用的像素的行为可能会花费与使用它们一样多的计算时间。
-
@denver - 同意你的看法。
标签: c++ opencv image-processing histogram