如何以稳健的方式阈值图像以查找局部最大值?
我知道我可以查看数据,直观地猜测一些适当的 h 值,然后执行imextendedmax(I, h)
h 是阈值,但我我正在寻找一种更强大的方法来MATLAB。我对MATLAB和编码都很陌生,所以这都是外国人......
由于背景嘈杂,我需要进行阈值处理(即使在我过滤后仍然有点嘈杂)。因此,imregionalmax()
会让位于我所需的更多局部最大值。
答案 0 :(得分:1)
生成直方图,找到最大值的bin,然后将阈值设置为低于此值的固定偏移量。
或者对于稍微复杂一些的方法,将直方图箱数从最大值开始求值并向下工作,直到累积了总人口的一些固定百分比,例如: 0.1%,并在那里设置你的门槛。
答案 1 :(得分:1)
看看Otsu的方法是否适合你。Otsu's method
它是作为图像处理工具箱的一部分实现的。"Matlab help for Otsu's Method"
level = graythresh(I)