Вопрос

Какой лучший способ найти импульсные пики (Dirac Delta) в 2D-матрице.

Более конкретно, я хотел бы найти гармонические частоты данного изображения, и поэтому мне нужно найти импульсные пики в образе абсолютного значения DFT.

Я думал об использовании FindPeaks, но нет 2D-версии. Я также видел ранее посты в отношении поиска обычных пиков, используя Imdilate и / или imextendedmax, но те вершины находятся в 2D Matrix, тогда как я заинтересован только в импульсных вершинах. Я уверен, что DSP у людей есть общий рецепт этого ...

Пожалуйста помоги,

Спасибо

Это было полезно?

Решение

То, что вы хотите сделать, это найти пики с высоким контрастом. Таким образом, вам нужен способ определить локальные максимумы, плюс способ измерения разницы между пиком и окружающими значениями. Пороги на эту разницу будут идентифицировать импульсные пики для вас.

Предполагая, что ваш входной сигнал называется signal

%# dilate to find, for every pixel, the maximum of its neighbors
dilationMask = ones(3);
dilationMask(5) = 0;
dilSignal = imdilate(signal, dilationMask);

%# find all peaks
%# peaks = signal > dilSignal;

%# find large peaks peaks by thresholding, i.e. you accept a peak only 
%# if it's more than 'threshold' higher than its neighbors
peaks = (signal - dilSignal) > threshold;

peaks Логический массив с 1-х везде, где есть хороший пик. Вы можете использовать его для чтения высот пика от сигнала с signal(peaks), и найти координаты, используя find(peaks).

Другие советы

Эта статья я написал Содержит исходный код MATLAB для быстрого локального пикового обнаружения в 2D. Это работает похоже на imregionalmax() В MathWorks Toolbox обработки изображений, но позволяет указывать местный радиус соседства: больший радиус -> пики режера.

Так как вы ожидаете редких импульсов, nonmaxsupp_scanline() Функция может быть подходит для вас.

То findpeaks алгоритм довольно тривиален; Если элемент больше, чем у его соседей, то это пик. Написание 2D-версии этого должна быть довольно проста.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top