из тепловой карты вычислить дискретные точки

Извините, если этот вопрос может показаться другим мне лень гуглить, но я не смог найти то, что ищу.

Этот вопрос для того, чтобы не изобретать велосипед. Я думаю, что то, что я ищу, может существовать, поэтому я не хочу начинать его реализацию самостоятельно:

Я хочу превратить тепловую карту в список дискретных точек. Я уверен, что можно использовать алгоритм, который сначала определяет тепловую карту, а затем для каждого «острова», который был создан пороговым значением, находит центр гравитации. Этот центр будет точкой. Я хочу получить список этих точек:

Шаг 0:

Шаг 1:

Шаг 2:

Интересно, существует ли уже такой алгоритм или есть лучший подход к этому, чем моя идея. Кроме того, было бы идеально, если бы была готовая реализация, конечно. Например. библиотеки компьютерного зрения, такие как OpenCV, включают пороговое значение. Я просто не мог найти следующий шаг.

Моя целевая платформа — iOS, поэтому для реализации предпочтительнее использовать Objective-C, C или C++.


person Daniel S.    schedule 15.10.2014    source источник


Ответы (3)


Есть много способов найти то, что вы ищете. Это один из них:

Применив cv::threshold();, вы должны получить что-то вроде этого:

введите здесь описание изображения

Теперь пришло время для cv::distanceTransform();и cv::normalize();

введите здесь описание изображения

Вы можете увидеть это лучше, применив cv::applyColorMap();

введите здесь описание изображения

Следующий шаг, cv::connectedComponents();, чтобы убедиться, что ничего не подключено:

введите здесь описание изображения

И, наконец, cv::approxPolyDP(); и cv::minEnclosingCircle(); для поиска центров:

введите здесь описание изображения

Я надеюсь, что это было полезно!

Продолжайте в том же духе и получайте удовольствие :)

person AndersonBS    schedule 15.10.2014

Вы могли бы сделать

person Haris    schedule 15.10.2014

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

Надежное отслеживание больших двоичных объектов

person Bharat    schedule 15.10.2014