簡體   English   中英

傅立葉逆變換圖像

[英]Inverse of Fourier transformed image

為什么我無法獲得使用傅立葉變換和圖像處理轉換的圖像的逆函數? 該程序的代碼如下。這里圖像是通過圖像處理轉換的,但我無法獲得逆圖像。請幫助我

clc;
clear all;
close all;
a=imread('lenna.png');
j=rgb2gray(a)
figure,imshow(a);
figure,imshow(j);
p=size(j);
[x,y]=size(j);
n1=rand(220,220);
b=exp(2*pi*i*n1);
k=fft2(j);
c=k.*b;
d=fft2(c);
figure,imshow(d);
s=size(d);
[r,t]=size(d);
n2=rand(220,220);
e=exp(2*pi*i*n2);
f=fft2(e);
figure,imshow(f);
g=fft2(f);
h=conj(e);
i=g.*h;
k=ifft(i);
figure,imshow(k);

代碼有很多問題,目標不明確。 最關鍵的是,您要在頻率空間中乘以不匹配的矩陣。 如果您的目標是在圖像光譜中添加噪聲,則可以執行以下操作:

a=imread('lenna.png');
j=rgb2gray(a);
p=size(j);
n1=0.01*rand(p);
k=fft2(j);
figure,imshow(k);
c=k.*n1;
d=ifft2(c);
figure,imshow(d); 

要恢復在頻率空間中轉儲到圖像上的“信號”,只需對損壞的和原始文件重復上一步:(1)同時進行FFT,(2)取比率,(3)使用余數,這是您最初轉儲到圖像上的“信號”:

a=imread('lenna.png');
j=rgb2gray(a);
b =imread('corruptedlenna.png');
j2=rgb2gray(b);
% assume a and b are same size, otherwise the following needs to be changed
p=size(j);
k=fft2(j);
k2=fft2(j2);
messg = k2./k;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM