【问题标题】:Spatial Histogram of binary image二值图像的空间直方图
【发布时间】:2018-08-21 03:23:46
【问题描述】:

有没有一种好方法(自动)在二进制图像上绘制空间直方图(直方图 x 轴应该是图像的宽度,y 轴应该是 col 位置的图像强度),使用 Opencv 和 C++ ?

我只能想到在这种情况下沿图像列总结图像强度(只有 1 或 0).. 但是显示它们对我来说仍然不太清楚

谢谢

【问题讨论】:

    标签: c++ opencv histogram


    【解决方案1】:

    经过一些研究,我想我已经接近答案了。

    首先,我将图像分成一定宽度和等长的箱。这是必要的,因为宽度大小等于 1 像素的 bin 不能很好地工作。原因是

    • 该算法运行速度太慢,因为它需要收集 n 个 bin,其中 n 是宽度大小
    • 对于现实生活中的应用,空间图像或强度模式可能是漫反射的,并且可能会产生具有相同 bin 强度的结果

    接下来,我将横穿图像宽度或 bin 宽度,将具有特定阈值的图像强度分配给 bin。然后构建一个直方图来表示模式的粗略形状

    如果我需要一张显示直方图的图片,我会

    1. 创建大小为(max_bin_weights,bin 数)的 Mat
    2. 然后创建std::vector。每个Point坐标(0.5 * nth bin, weight of nth bin)
    3. 通过迭代 std::vector 绘制直方图。使用 cv::line 将前一个点连接到当前点

    【讨论】:

      猜你喜欢
      • 2018-06-10
      • 2018-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-09
      • 2016-01-14
      • 1970-01-01
      • 2013-02-15
      相关资源
      最近更新 更多