Я хочу иметь возможность находить точки на изображениях, которые являются центром радиального градиента, как показано на левом рисунке ниже. Любые идеи о том, как я мог бы использовать преобразование Хафа или какой-то другой метод компьютерного зрения?
Благодарность
пример поиска изображения:
image-processing
computer-vision
gradient
Оспинатор
источник
источник
Ответы:
Я работал в opencv и пытался найти пик градиента, созданного преобразованием расстояния. Я понял, что использование морфологических операций (эрозия / дилатация) в серых изображениях было очень полезно в этом случае. Если вы размыли расширение серого изображения, любой пиксель будет принимать значение нижнего / верхнего соседа. Поэтому вы можете найти пики интенсивности в градиентах, вычитая серое изображение из того же расширенного / размытого изображения. Вот мой результат:
И способ сделать это в OpenCV / Cpp:
источник
Вот что у меня так далеко. То, как я заполняю свое пространство Хо, далеко не оптимально. Я уверен, что есть некоторая векторизация, которую я могу сделать, чтобы сделать это быстрее. Я использую Matlab R2011a. Исходное изображение
Предложения приветствуются, спасибо.
Я изменил функцию рисования линий, которую нашел в Matlab Central, чтобы увеличивать на пиксель на значение вместо установки пикселя на значение
источник
Запустите гистограмму ориентированных градиентов по участкам изображения - пик каждой из этих гистограмм даст вам доминирующее направление этого участка (как показано стрелками).
Найдите, где все эти стрелки пересекаются - если эта точка находится внутри объекта, она может быть центром радиального градиента.
источник