what the right function ?
2 views (last 30 days)
Show older comments
any body can help me?
i'm a newbie with matlab.
why this function error. "function I= checkered(N,s)"
% Prepare image
f = zeros(30,30);
f(5:24,13:17) = 1;
imshow(f,'notruesize')
% Compute Fourier Transform
F = fft2(f,256,256);
F = fftshift(F); % Center FFT
% Measure the minimum and maximum value of the transform amplitude
min(min(abs(F))) % 0
max(max(abs(F))) % 100
imshow(abs(F),[0,100]); colormap(jet); colorbar
imshow(log(1+abs(F)),[0,3]); colormap(jet); colorbar
% * What is the main difference between representing the amplitude and its logarithm?
% Look at the phases
imshow(angle(F),[-pi,pi]); colormap(jet); colorbar
% * Try with other images
f = imread('fotokanker1.jpg');
f = ind2gray(f,gray(256));
% * Or more patterned from Yamitani (at Caltech Univ.) homepage.
% * Checkered images
function I= checkered(N,s)
% This function returns a checkered image of size N
% and with a check size of s
I=zeros(N,N);
for i=1:N,
for j=1:N,
if (mod(floor(i/s)+floor(j/s),2)==0) I(i,j)=1; end;
end;
end;
f=checkered(256,32); imshow(f);
1 Comment
Accepted Answer
per isakson
on 29 Apr 2012
If checkered is supposed to be a nested function if must be closed with the keyword end.
More Answers (1)
Wayne King
on 29 Apr 2012
It looks to me like this function is ok. I mean you don't need the semicolons after the ends, but ok fine.
Did you save this checkered.m file somewhere on your path? Then you can call it with:
f=checkered(256,32); imshow(f);
Don't try to execute this whole thing as a script, maybe that is what you are doing wrong. Pull out the function and save that in a separate checkered.m file.
See Also
Categories
Find more on Colormaps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!