Пікове виявлення має досить багато застосувань для 1D або багатовимірних сигналів. Ось кілька прикладів, що показують, наскільки різноманітними можуть бути ці сигнали та їх інтерпретація:
Оригінальні 1D дані плаката;
Хоф трансформація зображення, кожен пік відповідає рядку в початковому зображенні;
автокореляція зображення, кожен пік відповідає частоті, що виявляє "періодичну картину";
"узагальнене" перехресне співвідношення зображення та шаблону, кожен пік відповідає появі шаблону в зображенні (нас може зацікавити виявлення лише найкращого піку або декількох піків);
- Результат фільтрації зображення за куточками Гарріса, кожен пік відповідає куточку в оригінальному зображенні.
Це визначення та методи виявлення піків, з якими я стикався - безумовно, є й інші, про які я або забув, або не знаю, і, сподіваюся, інші відповіді їх охоплять.
Техніка попередньої обробки включає згладжування та деноусування. @ Відповідь Мухаммеда стосується вейвлетів, і ви можете бачити різні їх використання в документації Mathematica WaveletThreshold (звідки я також брав свої приклади).
Тоді ви шукаєте максимуми. Залежно від вашої програми вам потрібні лише глобальні максимуми (наприклад, реєстрація зображень), кілька локальних максимумів (наприклад, виявлення рядків) або багато локальних максимумів (виявлення ключових точок): це можна зробити ітеративно, шукаючи найвище значення в даних потім стираючи область навколо вибраного піку тощо, поки найбільше значення, що залишилося, не перевищує поріг. Крім того, ви можете шукати локальні максимуми в межах певного розміру сусідства і зберігати лише ті локальні максимуми, значення яких перевищують поріг - деякі рекомендують зберігати локальні максимуми виходячи з їх відстані до решти локальних максимумів (далі кращий). У арсеналі також є морфологічні операції: розширені максимуми та перетворення верхньої шапки можуть бути придатними.
Ознайомтеся з результатами трьох цих методик на зображенні, відфільтрованому за куточками Гарріса:
Більше того, деякі програми намагаються знайти піки при роздільній здатності пікселів. Інтерполяція, яка може бути специфічною для програми, стає корисною.
Наскільки мені відомо, сріблястої кулі немає, і дані підкажуть, які методи працюють найкраще.
Буде дійсно приємно отримати більше відповідей, особливо. що виходять з інших дисциплін.