Обнаружение гауссиан в изображении - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть изображение в оттенках серого, представленное гистограммой ниже (оси x и y - пиксели, ось z - интенсивность пикселей).Каждый кластер столбцов представляет объект с локальными максимумами, достаточно приближенными к центроиду объекта.Моя цель состоит в том, чтобы найти половину максимальной ширины каждого объекта, поэтому я приблизительно аппроксимирую каждый объект как распределение Гаусса.

Как определить каждый кластер отдельно?Я понимаю, как математически рассчитать FWHM, но я не уверен, как определить каждый кластер на основе его (примерно) гауссовских особенностей.(Например, в приведенном ниже примере я хотел бы обнаружить 6 кластеров. Можно видеть небольшой кластер в середине, но его амплитуда настолько мала, что я могу пропустить его).

Я ценю любые советы - и эффективность не является серьезной проблемой, поэтому я могу реализовать относительно дорогие решения.

1 Ответ

0 голосов
/ 20 ноября 2018

Чтобы найти центры каждой из этих группировок, вы можете использовать тип A * алгоритм поиска или аналогичный алгоритм линейной оптимизации.

Он найдет путь к максимумамгруппировка.Проблема после этого заключается в том, что вы не будете знать, находитесь ли вы в локальных максимумах (что в вашем сценарии вероятно).После того, как ваш текущий поиск достиг дна в самой высокой точке, и вы рассчитали FWHM для этой области, вы можете установить все узлы, по которым ваш A * прошел 0, (или пометить каждый узел как посещенный, чтобы его больше не посещать)) и снова запустите алгоритм A *, пока все узлы не будут видны и все группировки не найдены.

...