Предполагая, что два изображения имеют одинаковый размер, вы можете объединить амплитуду и фазу, используя следующую формулу:
combined = abs(F2) .* exp(i * angle(F));
Тогда получение инверсии - это просто вопрос использования ifft2
(возможно,затем ifftshift
в зависимости от вашего приложения; я не могу без контекста сказать, нужно ли вам работать с fftshift
'редактированными изображениями или нет):
combined_img = ifft2(combined);
Если изображения не являютсятого же размера, вы должны сначала получить представления в частотной области того же размера со следующим:
m = max(size(img1,1), size(img2,1));
n = max(size(img1,2), size(img2,2));
F = fft2(img1,m,n);
F2 = fft2(img2,m,n);