Подтвердить что ты не робот

Объясните хурную трансформацию

Я просто занимаюсь приключениями и делаю свой первый шаг к компьютерному видению. Я попытался реализовать Преобразование Хафа самостоятельно, но я просто не получаю всю картину. Я прочитал запись в википедии и даже оригинальное "использование преобразования hough для обнаружения линий и кривых в картинках" Ричарда Дуды и Питера Харта, но не помогло.

Может кто-нибудь помочь объяснить мне более дружелюбный язык?

4b9b3361

Ответ 1

Более распространено думать о прямой в координатах прямоугольника, т.е. y = mx + b. Как гласит статья Википедии, линия также может быть выражена в полярной форме. Преобразование Hough использует это изменение представления (для строк, во всяком случае. Обсуждение также может быть применено к кругам, эллипсам и т.д.).

Первым шагом преобразования Hough является уменьшение изображения до набора ребер. Крайний краевой детектор является частым выбором. Результирующее краевое изображение служит входом для процесса Hough.

Подводя итог, пиксели, "освещенные" в краевом изображении, преобразуются в полярную форму, т.е. их положение представляется с использованием направления theta​​i > и расстояния r - вместо x и y. (Центр изображения обычно используются в качестве контрольной точки для этого изменения координат.)

Преобразование Хафа по существу является гистограммой. Предполагается, что сопоставление граничных пикселей с теми же тетами и r определяет линию на изображении. Чтобы вычислить частоту возникновения, theta​​i > и r дискретизируются (разбиваются на несколько ячеек). После того, как все пиксели краев были преобразованы в полярную форму, бункеры анализируются для определения линий в исходном изображении.

Обычно для поиска наиболее часто встречающихся параметров N - или порога игнорируются такие параметры, которые считаются меньшими, чем некоторые n.

Я не уверен, что этот ответ лучше, чем источники, которые вы изначально представляли, - есть ли определенный момент, в котором вы застряли?

Ответ 2

Здесь представлено очень простое, наглядное объяснение того, как работает преобразование Hough для обнаружения линий в изображении:

enter image description here

Ответ 3

Преобразование Хафа - это способ найти наиболее вероятные значения, которые представляют собой линию (или круг, или многое другое).

Вы даете Hough преобразование изображения строки в качестве входного сигнала. Это изображение будет содержать два типа пикселей: те, которые являются частью линии, и те, которые являются частью фона.

Для каждого пикселя, который является частью строки, вычисляются все возможные комбинации параметров. Например, если пиксель в координате (1, 100) является частью линии, то это может быть частью линии, где градиент (m) = 0 и y-перехват (c) = 100. Он также может быть частью m = 1, c = 99; или m = 2, c = 98; или m = 3, c = 97; и так далее. Вы можете решить линейное уравнение y = mx + c, чтобы найти все возможные комбинации.

Каждый пиксель дает один голос каждому из параметров (m и c), которые могли бы его объяснить. Таким образом, вы можете себе представить, если ваша линия имеет 1000 пикселей в нем, то правильная комбинация m и c будет иметь 1000 голосов.

Комбинация m и c, которая имеет наибольшее количество голосов, является тем, что возвращается в качестве параметров для строки.

Ответ 4

Здесь другая перспектива (одна используется в пилотном эпизоде ​​T.V show Numbers): Представьте, что спринклеры с похожими на фонтаны были где-то на лужайке раньше, бросая капли воды вокруг себя. Теперь спринклер ушел, но капли остаются. Представьте, что каждый капля превращается в собственный спринклер, сам изгоняющий капельки вокруг себя - во всех направлениях, потому что капля не знает, в каком направлении она появилась. Это будет рассеивать много воды на земле, за исключением того, что будет пятно, где много воды попадает из всех капель одновременно. Это место, где был оригинальный спринклер.

Приложение к (например) определению линии аналогично. Каждая точка изображения является одной из исходных капель; когда он действует как спринклер, он отправляет свои собственные капли, обозначающие все линии, которые могут проходить через эту точку. Места, где много вторичных капель земли представляют параметры линии, которая проходит через множество точек изображения - VOILA! Обнаружена линия!