| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Как найти пики гистограмы |
| Автор: MoebiusCat 20.1.2011, 08:56 |
| Речь идёт о гистограме чёрно-белой картинки, содержащей "фон" (например, светлый) и "изображение" (например, тёмное), то есть о двухпиковой гистограме. Нужно глядя на гистограму определить, является ли она двухпиковой и как можно точнее определить пики - я имею в виду не только вершины, а пики целиком. Это выглядит очень просто, я и сама могу с ходу назвать таких алгоритмов штук пять. Но проблема в том, что они все нестабильны - нет ни одного, который работал бы во всех случаях . Посмотрите, например, на приложенную гистограму: ![]() "Глазами" я прекрасно вижу два пика - максимум гистограмы с окрестностью (один пик) и максимум того, что останется от графика, если отбросить предыдущий пик, тоже с окрестностью. Но я не могу дать рассуждению, с помощью которого я это вижу, точное "алгоритмическое" описание. |
| Автор: Akina 20.1.2011, 09:21 |
| Ну автоматическое определение пиков полимодальных гистограмм вообще вещь неустойчивая... Если все гистограммы имеют именно такой характер - я бы искал наиболее точную аппроксимацию гистограммы трёхчастным квадратичным сплайном - два положительных крайних и отрицательный средний. В качестве начального приближения есссно брать пики и седло. |
| Автор: Pavia 20.1.2011, 11:28 |
| 1. Обычно достаточно сделать так, поиск локальных максимумов. Дальше сортировка и отсечению по порогу. 2. Иногда перед этим еще делают сглаживание. Поиск локальных минимум. позволит отделить пики. Можно еще воспользоваться алгоритмом сдвига среднего (mean shift) он тоже позволяет найти пики не только их максимумы, но и хребты тоже отследить. |
| Автор: MoebiusCat 20.1.2011, 12:19 | ||||||
Не совсем поняла что имеется в виду - что все они двухпиковые или что они все имеют подобную форму? Они не все имеют подобную форму, в конце сообщения прикреплены другие примеры - более "красивые" и менее "красивые". То что они двухпиковые - в идеале хотелось бы уметь это определять.
Попробую... |