Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Как найти пики гистограмы


Автор: MoebiusCat 20.1.2011, 08:56
Речь идёт о гистограме чёрно-белой картинки, содержащей "фон" (например, светлый) и "изображение" (например, тёмное), то есть о двухпиковой гистограме. Нужно глядя на гистограму определить, является ли она двухпиковой и как можно точнее определить пики - я имею в виду не только вершины, а пики целиком.
Это выглядит очень просто, я и сама могу с ходу назвать таких алгоритмов штук пять. Но проблема в том, что они все нестабильны - нет ни одного, который работал бы во всех случаях .
Посмотрите, например, на приложенную гистограму:
user posted image
"Глазами" я прекрасно вижу два пика - максимум гистограмы с окрестностью (один пик) и максимум того, что останется от графика, если отбросить предыдущий пик, тоже с окрестностью. Но я не могу дать рассуждению, с помощью которого я это вижу, точное "алгоритмическое" описание.  smile 

Автор: Akina 20.1.2011, 09:21
Ну автоматическое определение пиков полимодальных гистограмм вообще вещь неустойчивая...
Если все гистограммы имеют именно такой характер - я бы искал наиболее точную аппроксимацию гистограммы трёхчастным квадратичным сплайном - два положительных крайних и отрицательный средний. В качестве начального приближения есссно брать пики и седло. 

Автор: Pavia 20.1.2011, 11:28
1. Обычно достаточно сделать так, поиск локальных максимумов. Дальше сортировка и отсечению по порогу.
2. Иногда перед этим еще делают сглаживание.

Поиск локальных минимум. позволит отделить пики.

Можно еще воспользоваться алгоритмом сдвига среднего (mean shift) он тоже позволяет найти пики не только их максимумы, но и хребты тоже отследить.

Автор: MoebiusCat 20.1.2011, 12:19
Цитата

Если все гистограммы имеют именно такой характер 

Не совсем поняла что имеется в виду - что все они двухпиковые или что они все имеют подобную форму?

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

Цитата

я бы искал наиболее точную аппроксимацию гистограммы трёхчастным квадратичным сплайном - два положительных крайних и отрицательный средний. В качестве начального приближения есссно брать пики и седло


Цитата

1. Обычно достаточно сделать так, поиск локальных максимумов. Дальше сортировка и отсечению по порогу.
2. Иногда перед этим еще делают сглаживание.

Поиск локальных минимум. позволит отделить пики.

Можно еще воспользоваться алгоритмом сдвига среднего (mean shift) он тоже позволяет найти пики не только их максимумы, но и хребты тоже отследить.


Попробую...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)