在图像直方图中找到峰值

时间:2011-02-27 18:28:50

标签: c# image-processing histogram

我正在进行图像处理项目。 对于我的项目的某些部分找到好的阈值,我需要找到图像直方图的峰值和谷值。 我在C#.net中使用我的项目 但我需要算法或示例代码在任何语言,如(Java,C,C ++,....)来理解它的逻辑。我可以自己转换为C#。 任何文件或算法或一段代码...... 感谢

2 个答案:

答案 0 :(得分:4)

对于二进制阈值处理来说,很难击败Ohtsu's Method。即使你坚持自己实施本地极值搜索,Ohtsu的方法也会给你一个很好的结果来比较。

答案 1 :(得分:1)

如果你已经计算了直方图,找到峰值和谷值在计算上是微不足道的(在它上面循环并找到局部极值)。不重要的是找到“好”的峰和谷来做一些分割/阈值。但这不是编码问题,而是建模问题。你可以google来获取它。

如果你想要一个简单的食谱,如果你知道你的直方图“基本上”有两个峰和一个中间的山谷(“双峰”直方图)并且你想找到那个山谷,我曾经实施过以下广告-hoc程序,相对成功:

  • 计算直方图的所有极值(相对最大值/最小值,包括边界)
  • 如果只有两个最大值,如果在这些最大值之间只有一个局部最小值,我们就找到了谷值。归还。
  • 否则,平滑直方图(例如移动平均线)并转到第一步。