Почему реальная часть БПФ преобразует изображение в поворот + оригинал?


16

Я прочитал это изображение:

введите описание изображения здесь

взял его БПФ (2D), а затем обратное БПФ, чтобы получить точно изображение обратно. Код предоставляется для справки:

imfft = fft2(photographer);
im = uint8(ifft2(imfft));

imshow(im); %Output is same image

Но когда я меняю фурье и принимаю только реальную роль,

imfft = real(fft2(photographer));
im = uint8(ifft2(imfft));
imshow(im);

Я получаю изображение как это ( обратите внимание, что изменение размера не имеет значения и только из-за сохранения его из обработчика фигур Matlab ):

введите описание изображения здесь

Может кто-нибудь объяснить мне теорию (математику) за этим? Благодарность

Ответы:


16

Допустим, ваше изображение задано . Тогда его преобразование Фурье дается I f ( ω x , ω y ) = x y I ( x , y ) e j ω x x e j ω y y d x d yя(Икс,Y)

яе(ωИкс,ωY)знак равноИксYя(Икс,Y)еJωИксИксеJωYYdИксdY

Теперь вы принимаете реальную часть и выполняете обратное:

ям(α,β)знак равноωИксωY{яе(ωИкс,ωY)}еJωИксαеJωYβdωИксdωYзнак равноωИксωY{ИксYя(Икс,Y)еJωИксИксеJωYYdИксdY}еJωИксαеJωYβdωИксdωYзнак равноИксYя(Икс,Y)ωИксωY{еJωИксИксеJωYY}еJωИксαеJωYβdωИксdωYdИксdY

Вы можете ясно видеть, что внутренний интеграл является двумерным преобразованием Фурье который является

соз(ωИксИкс)соз(ωYY)+грех(ωИксИкс)грех(ωYY)
12[δ(Икс-α)δ(Y-β)+δ(Икс+α)δ(Y+β)]

Подстановка результата в дает ям

ям(Икс,Y)знак равно12[я(Икс,Y)+я(-Икс,-Y)]

Конечно, в вашем случае , однако дискретное преобразование Фурье предполагает, что ваш сигнал периодический, и вы получаете где - размеры вашего изображения. Я думаю, теперь вы понимаете, почему вы получили такой результат.Икс,Y>0N

ям(Икс,Y)знак равно12[я(Икс,Y)+я(N-Икс,M-Y)]
N,M

Хороший ответ! +1
Питер К.

3
I think you can see now why got that result.Да. Однако, так как этот вопрос попал в список HNQ, возможно, вы бы рассмотрели добавление последнего шага для тех, кто приходит с менее математически настроенных сайтов.
Мачта

9

Предоставленный результат ThP также можно сформулировать в очень простых терминах: если у вас есть набор данных, который является чисто вещественным, его (обратное) преобразование Фурье будет иметь эрмитову симметрию: если вы найдете значение в позиции , то Вы найдете комплексное сопряженное значение в точечно-отраженной позиции относительно начала координат. Обратите внимание, что источником здесь будет центр фурье-пространства. Конечно, это можно переформулировать, если компонент DC не находится в центре вашей реализации FFT. И это то, что вы видите на своем изображении: точечно-отраженная версия накладывается на истинное изображение - потому что вы вынудили одно пространство быть реальным.Z(Икс,Y)Z*(-Икс,-Y)

Это свойство фактически используется для ускорения магнитно-резонансной томографии (МРТ) в некоторых случаях: МРТ получает данные непосредственно в фурье-пространстве. Поскольку идеальное МР-изображение можно описать только действительными значениями (все возбужденные векторы намагниченности имеют фазу 0), вам нужно только получить половину пространства данных, что экономит вам половину времени визуализации. Конечно, МР-изображения не являются полностью реальными из-за ограничений реальности ... но с помощью нескольких приемов вы все равно можете с выгодой использовать эту технику.


2
Мне понравился простой способ сформулировать тот же ответ, который предоставил ThP. И спасибо за информацию о МРТ. Не знал об этом.
Неудачный Ученый
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.