algorithm - 获取直方图的兴趣区域(Int​​ 数组)

标签 algorithm image-processing pattern-matching histogram

我有一个充满值 (0-255) 的 int 数组,我需要提取两个索引。

要找到的索引将代表我要关注的兴趣领域。

该区域的值总是高于其他区域,但有时差异非常小。

像这个例子:

enter image description here

我感兴趣的领域是:

enter image description here

我目前的方法是获取最大值和平均值。然后我会得到:

  • 大于“Max - (Max - Average)”的第一个索引。
  • 最后一个指数大于“Max - (Max - Average)”。

但有时,就像在这种情况下,我的方法会得到垃圾部分。 (第五“柱”,右边)

谁能提出更好的方法?

注意: 兴趣区域始终有 4 个“列”,如示例图像

最佳答案

您可以对直方图应用简单的脉冲响应滤波器(例如 Boxcar)或任何其他平滑方法以减少高频分量。之后,您可以计算局部最小值和最大值,并在有助于缩小 ROI 的带宽内精确定位各个峰值(每个峰值的最大-最小-最大-最小值)。

这是一个简单的 Boxcar过滤我的实现。

关于algorithm - 获取直方图的兴趣区域(Int​​ 数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16673323/

相关文章:

algorithm - 查找表中的路径数

python - 找到从一种状态到另一种状态的最少函数调用的最快方法

python - Opencv 显示错误的图像宽度和高度

Java 正则表达式转义序列

c# - 在 C# 或 C++ 中搜索另一个音频中的音频

arrays - 返回输入数组的前 K 个元素

java - 用于查找节点最可能祖先的图形算法

python - OpenCV:去除 Tesseract OCR 的背景噪音

python - 使用 Python 在图像验证码中删除行

tuples - number_in_month 练习(SML 函数从元组列表构建整数列表时出错)