【发布时间】:2012-12-13 04:01:27
【问题描述】:
我在 MATLAB 中有包含三个峰值的嘈杂数据集,我想对其进行一些图像处理。在 50 x 50 阵列中,底部的峰宽约 5-9 像素。如何定位峰? MATLAB 对我来说很新。这是我到目前为止所拥有的......
对于我的原始图像,我们称之为array,我试过了
J = fspecial('gaussian',[5 5], 1.5);
C = imfilter(array, J)
peaks = imregionalmax(C);
但是沿着峰之间的基线仍然存在一些噪声,所以我最终得到了大量的局部最大值,它们实际上只是噪声值。 (我尝试使用过滤器的大小,但没有帮助。)我也尝试过
peaks = imextendedmax(C,threshold);
阈值是在视觉上确定的......这是可行的,但绝对不是一个好方法,因为它显然不是那么健壮。
那么,如何以稳健的方式定位这些峰?
【问题讨论】: