在MATLAB中进行阈值处理

时间:2010-05-06 04:10:32

标签: matlab image-processing

如何以稳健的方式阈值图像以查找局部最大值?

我知道我可以查看数据,直观地猜测一些适当的 h 值,然后执行imextendedmax(I, h) h 是阈值,但我我正在寻找一种更强大的方法来MATLAB。我对MATLAB和编码都很陌生,所以这都是外国人......

由于背景嘈杂,我需要进行阈值处理(即使在我过滤后仍然有点嘈杂)。因此,imregionalmax()会让位于我所需的更多局部最大值。

2 个答案:

答案 0 :(得分:1)

生成直方图,找到最大值的bin,然后将阈值设置为低于此值的固定偏移量。

或者对于稍微复杂一些的方法,将直方图箱数从最大值开始求值并向下工作,直到累积了总人口的一些固定百分比,例如: 0.1%,并在那里设置你的门槛。

答案 1 :(得分:1)

看看Otsu的方法是否适合你。Otsu's method

它是作为图像处理工具箱的一部分实现的。"Matlab help for Otsu's Method"

level = graythresh(I)