Matlab 查找对应于每个强度峰值的像素值

Matlab 查找对应于每个强度峰值的像素值,matlab,matlab-guide,Matlab,Matlab Guide,我有干涉条纹图案。我对它进行了傅里叶变换,得到了一幅图像,每个空间频率对应的峰值非常小。我的问题是,是否有任何方法(算法)来检测对应于这些密集峰值的坐标(像素值) 请注意,有多个峰值(但不多)具有不同的幅值。您可以使用内置的,例如: [pks,locs] = findpeaks(data) [pks,locs] = findpeaks(data,'MINPEAKHEIGHT',10) 返回输入数据中的局部最大值或峰值,pks,带有局部峰值locs的索引。输入数据需要具有实值元素的行或列向量

我有干涉条纹图案。我对它进行了傅里叶变换,得到了一幅图像,每个空间频率对应的峰值非常小。我的问题是,是否有任何方法(算法)来检测对应于这些密集峰值的坐标(像素值)

请注意,有多个峰值(但不多)具有不同的幅值。

您可以使用内置的,例如:

 [pks,locs] = findpeaks(data)
[pks,locs] = findpeaks(data,'MINPEAKHEIGHT',10)
返回输入数据中的局部最大值或峰值,
pks
,带有局部峰值
locs
的索引。输入
数据
需要具有实值元素的行或列向量,其最小长度为3
findpeaks
将每个数据元素与其相邻值进行比较。如果数据元素大于其两个相邻元素或等于Inf,则该元素为局部峰值。如果没有局部最大值,
pks
将是一个空向量

要设置阈值,请使用以下任一句柄:
'MINPEAKHEIGHT'
'MINPEAKDISTANCE'
'threshold'

例如:

 [pks,locs] = findpeaks(data)
[pks,locs] = findpeaks(data,'MINPEAKHEIGHT',10)

您可以设置一个阈值,并使用find(矩阵>阈值)将为您提供大于thresold的位置索引