Корреляция фазы

Как угол вращения может быть определен корреляцией фазы (использующий fft) 2 изображений? Алгоритм, данный в http://en.wikipedia.org/wiki/Phase_correlation, возвращает линейный сдвиг, не угловой. Это также упоминает, что изображения должны быть преобразованы в полярные координаты журнала для вычислений вращения. Как это преобразование достигается в Python? И преобразование сообщения делает те же шаги алгоритма содержат?

5
задан leonbloy 14 May 2010 в 16:45
поделиться

1 ответ

Логополярное преобразование фактически инвариантно к вращению и масштабированию. Вращение соответствует сдвигу по оси y а масштабирование соответствует сдвигу по оси x в логарифмическом полярном преобразовании

Вот простые шаги для поиска изображения x в изображении y:

  1. Найдите изображение x в изображении y (используйте корреляцию фаз в декартовых координатах)

  2. Вычислите логарифмические полярные преобразования как x, так и y (это совершенно другая проблема, см. Ссылки ниже), убедитесь, что вы центрировали одну и ту же функцию на обоих изображениях.

  3. Найдите БПФ x и y, скажем F (X) и F (y)

  4. Найдите фазовую корреляцию F (x) и F (y), назовите это R

  5. Найдите IFFT (обратное БПФ) of R. Пиковое значение R соответствует отклонению поворота по оси Y и отклонению масштабирования по оси X от исходного изображения.

Ссылки:

  1. http://etd.lsu.edu/docs/available/etd-07072005-113808/unrestricted/Thunuguntla_thesis.pdf
4
ответ дан 14 December 2019 в 08:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: