Existem várias informações importantes que você precisa para entender como a DFT permite que você mude uma imagem.
Primeiro, o teorema de Fourier: provavelmente é mais fácil olhar primeiro para o caso contínuo (isto é, analógico). Imagine que você tem alguma função, chame de g (t). Por uma questão de simplicidade, digamos que g (t) é uma gravação de áudio analógica; portanto, é uma função unidimensional, que é contínua e representa a pressão instantânea em função do tempo.
Agora, g (t) é uma maneira de representar nossa gravação de áudio. Outro é G (f). G (f) é a transformada de Fourier de g (t). Então, G (f) == FT (g (t)). G (f) tem todas as mesmas informações que g (t), mas representa essas informações no domínio da frequência em vez do domínio do tempo. Existem alguns detalhes minuciosos sobre transformadas de Fourier, que não mencionarei.
Você pode pensar em G (f) como a "distribuição de frequências" contida em g (t). Portanto, se g (t) é uma onda senoidal (ou seja, um tom puro), então G (f) será zero em todos os lugares, exceto na frequência desse tom. Este é provavelmente um bom ponto para mencionar que G (f) é em geral uma função complexa - ou seja, retorna números complexos, que podem ser pensados como tendo um componente real e imaginário ou uma magnitude e fase.
δ( W )δ
Ok, agora temos FTs contínuos.
Aqui está o segundo insight: uma transformação discreta de Fourier é uma transformação de Fourier, como um sinal amostrado é um sinal analógico. Nesse caso, o "discreto" refere-se à quantização do domínio da função (tempo ou frequência), não ao alcance. (O sinal digital amostrado que você recebe da placa de som é quantizado no domínio e no alcance.)
O fluxo de bytes digital obtido da placa de som contém "amostras" do sinal contínuo (analógico) original do microfone. Se tomarmos a DFT do nosso g (t) amostrado, ainda obteremos um G (f). G (f), lembre-se, é apenas uma maneira diferente de representar a informação contida em g (t). Se obedecemos ao teorema de Nyquist , o sinal amostrado g (t) contém toda a "inteligência" do sinal contínuo original, portanto nosso G (f) discreto deve conter todas as informações de nosso sinal contínuo original. Entre parênteses, G (f) ainda é uma função complexa.
É aqui que entra a mágica da mudança de sub-pixel, mas, neste caso, vou escrever sobre a mudança do sinal de áudio no tempo em menos de uma amostra, pois é a mesma coisa.
eEu π2
Isso significa que podemos mudar nossa gravação de áudio no tempo (em qualquer quantidade que escolhermos, incluindo uma fração do tempo de amostra) simplesmente modificando a fase de G (t). Na verdade, essa afirmação é talvez um pouco casual demais. Para um sinal amostrado não quantizado, a fase pode ser ajustada arbitrariamente (isso é parte da razão pela qual fiz a distinção entre quantização de domínio e faixa anteriormente). No entanto, para um sinal amostrado quantizado (nosso fluxo de bytes de áudio, por exemplo), o tamanho da etapa de quantização (ou seja, número de bits) determina a resolução com a qual podemos ajustar a fase. Quando inversamente transformamos a transformada de Fourier G (f) (ou a DIFT para este sinal amostrado), o novo conjunto de amostras g '(t) = DIFT (G (F)) será alterado no tempo pela quantidade que escolhermos.
Aplicar isso aos pixels significa simplesmente usar um FT bidimensional em vez do FT unidimensional discutido aqui.