How can I use an image as a 2 dimentional function?

1 次查看(过去 30 天)
Hello, I am trying to do Fast Fourier Transform function on an image which should be put on a 2 dimentional function, here's the fft function downloaded from MathWorks ,
function Y=ft2
size=length(input);
l=log2(size);
p=ceil(l);
Y=input;
N = 2^p;
N2=N/2;
YY = -pi*sqrt(-1)/N2;
WW = exp(YY);
JJ = 0 : N2-1;
W=WW.^JJ;
for L = 1 : p-1
u=Y(:,1:N2);
v=Y(:,N2+1:N);
t=u+v;
S=W.*(u-v);
Y=[t ; S];
U=W(:,1:2:N2);
W=[U ;U];
N=N2;
N2=N2/2;
end;
u=Y(:,1);
v=Y(:,2);
Y=[u+v;u-v];
Y
I want to apply this function on a grayscale image with the command
schimage = ft2(myimage,2);
But it doesn't work and the error is "Error using ft2 Too many input arguments."
Can anyone help me please?
  3 个评论
Nour Sd
Nour Sd 2018-11-8
I don't know how, can you please give me instructions?
Stephen23
Stephen23 2018-11-8
Your define the function ft2 to have zero input arguments:
function Y=ft2
and then try to call it with two input arguments. You should define the function with the correct number of input arguments that you require.

请先登录,再进行评论。

采纳的回答

KSSV
KSSV 2018-11-8
  3 个评论
KSSV
KSSV 2018-11-8
X = imread('peppers.png') ;
X = rgb2gray(X) ;
Y = fft2(X);
imagesc(abs(fftshift(Y)))
Nour Sd
Nour Sd 2018-11-8
编辑:Nour Sd 2018-11-8
Okay, I don't know if it gives a good result in my case but thank you anyway.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Read, Write, and Modify Image 的更多信息

产品


版本

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by