Есть несколько ключевых идей, которые вам нужны, чтобы понять, как DFT позволяет вам сдвигать изображение.
Во-первых, теория Фурье: вероятно, сначала проще взглянуть на непрерывный (т.е. аналоговый) случай. Представьте, что у вас есть какая-то функция, назовите ее g (t). Для простоты предположим, что g (t) - это запись аналогового звука, поэтому это одномерная функция, которая является непрерывной и представляет мгновенное давление как функцию времени.
Теперь g (t) - это один из способов представления нашей аудиозаписи. Другой - это G (f). G (f) - преобразование Фурье от g (t). Итак, G (f) == FT (g (t)). G (f) имеет всю ту же информацию, что и g (t), но она представляет эту информацию в частотной области, а не во временной. Есть несколько придирчивых деталей о преобразованиях Фурье, которые я не буду упоминать.
Вы можете рассматривать G (f) как «распределение частот», содержащееся в g (t). Итак, если g (t) является синусоидальной волной (т. Е. Чистым тоном), то G (f) будет нулевым везде, кроме частоты этого тона. Вероятно, это хороший момент для упоминания того, что G (f) в общем случае является сложной функцией, то есть возвращает комплексные числа, о которых можно думать, что они имеют действительный и мнимый компонент или величину и фазу.
δ(w)δ
Хорошо, теперь у нас есть непрерывные FT под нашим поясом.
Вот второе понимание: дискретное преобразование Фурье относится к преобразованию Фурье, а дискретизированный сигнал - к аналоговому сигналу. В этом случае «дискретный» относится к квантованию области функции (времени или частоты), а не ее диапазона. (Сэмплированный цифровой сигнал, который вы получаете с вашей звуковой карты, квантуется как в области, так и в диапазоне.)
Цифровой поток байтов, который вы получаете со своей звуковой карты, содержит «образцы» исходного непрерывного (аналогового) сигнала от микрофона. Если мы возьмем ДПФ из нашей выборки g (t), мы все равно получим G (f). Помните, что G (f) - это просто другой способ представления информации, содержащейся в g (t). Если мы подчиняемся теореме Найквиста , дискретизированный сигнал g (t) содержит весь «интеллект» исходного непрерывного сигнала, поэтому наш дискретный G (f) должен содержать всю информацию из нашего исходного непрерывного сигнала. В скобках G (f) все еще является сложной функцией.
Вот тут-то и возникает магия субпиксельного смещения, но в этом случае я напишу о смещении аудиосигнала во времени менее чем на сэмпл, поскольку это одно и то же.
eiπ2
Это означает, что мы можем сдвинуть нашу аудиозапись во времени (на любую величину, которую мы выберем, включая долю времени выборки), просто изменив фазу G (t). На самом деле, это утверждение, пожалуй, слишком случайное. Для неквантованного дискретизированного сигнала фазу можно отрегулировать произвольно (это одна из причин, по которым я раньше проводил различие между квантованием области и диапазона). Однако для квантованного дискретизированного сигнала (например, нашего байтового потока аудио) размер шага квантования (т. Е. Количество битов) определяет разрешение, с которым мы можем регулировать фазу. Когда мы обратное преобразование Фурье G (f) (или DIFT его, для этого дискретизированного сигнала), новый набор выборок g '(t) = DIFT (G (F)) все будет сдвинут во времени на величину, которую мы выберем.
Применение этого к вашим пикселям просто означает использование 2-мерного FT вместо 1-мерного FT, обсужденного здесь.