Трехмерное пространство Хафа - PullRequest
1 голос
/ 09 ноября 2011

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

Ответы [ 2 ]

3 голосов
/ 09 ноября 2011

Вы реализуете это так же, как 2D Hough space, но с дополнительным параметром. Псевдокод будет выглядеть так:

for each (x,y) in image
     for each test_radius in [min_radius .. max_radius]
         for each point (tx,ty) in the circle with radius test_radius around (x,y)
             HoughSpace(tx,ty,test_radius) += image(x,y)
2 голосов
/ 09 ноября 2011

Титон дает вам правильный подход к формализации проблемы. Но тогда вы столкнетесь с другими проблемами, присущими грубому преобразованию:

  • как вы визуализируете пространство параметров? Вы можете реализовать что-то с помощью библиотеки, такой как VTK, но трехмерная визуализация данных - всегда сложная тема. Визуализация важна для отладки вашего алгоритма обнаружения и является одной из приятных вещей с двумерным грубым преобразованием

  • обнаружение локального максимума нетривиально. Новое измерение будет означать, что ваше пространство параметров будет более разреженным. У вас будет больше возможностей для настройки в этой области

Если вы ищете алгоритм обнаружения кругов, у вас могут быть лучшие варианты, чем грубое преобразование (мне кажется, Google "Быстрое обнаружение кругов с использованием векторов пар градиентов")

...