Как рассчитать комбинацию свертки и корреляции по БПФ? - PullRequest
2 голосов
/ 20 апреля 2019

Я пытаюсь найти алгоритм для эффективного вычисления комбинации свертки и корреляции, такой как:

c(x,y)=(sum of i, (sum of j, a(x-i,y+j)*b(i,j)))

Я знал, что 1-D свертка или корреляция может быть решена с помощью

a conv b = ifft(fft(a).*fft(b))
a corr b = ifft(fft(a).*conjg(fft(b)))

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

1 Ответ

0 голосов
/ 20 апреля 2019

Корреляция может быть записана в терминах свертки путем обращения одного из аргументов:

corr(x(t),y(t)) = conv(x(t),y(-t))

Таким образом, если вы хотите, чтобы ось х вела себя как свертка, а ось у вела себякак корреляция, поверните только ось Y и вычислите свертку.Не имеет значения, используете ли вы пространственную или частотную реализацию.

...