How to Normal Distribution and Statistics of Image using FFT (or any other method)

2 views (last 30 days)
Hey everyone. I am trying to use the FFT function as suggested by a TA that I'm working with for this project. The project involves measuring the size (length) distributions of different particles as they are being created. We take pictures of this particles and run this code to produce a graph.
I=imread('file.image.bmp'); %generic name for file F=fft(I); L=log(F); A=abs(L); imagesc(A)
This graphs out an interesting image but then I honestly don't know what to do with it. I know I need to measure (along the x-axis) the lengths of the bands corresponding to the particles but I don't know how to take the matrix I have created and output the information I am looking for from it. If any of you know of better way or know what I should do from here on it would be much appreaciated. Attached is a psuedo image of what a sample should look like. http://imageshack.us/photo/my-images/812/imagespr.png/

Answers (1)

Youssef  Khmou
Youssef Khmou on 11 Feb 2013
Edited: Youssef Khmou on 11 Feb 2013
hi,
the image you attached above contains only discrete line ? I can not tell much about the image anyway :
1) You can get the probabilty density function of the image :
[y,x]=imhist(image);
plot(x,y), title(' PDF of your image');
2) you can look at the FFT :
FI=fft2(double(I));
surf(10*log10(abs(fftshift(FI))))
figure, imagesc(10*log10(abs(fftshift(FI))));
3) As you also mentioned you can get the autocorrelation function :
[n m]=size(I); % your image is I
B=abs(fftshift(ifft2(fft2(H).*conj(fft2(H)))))./(n*m);
surf(B), shading interp
I hope that helps, (waiting your better answer ).

Categories

Find more on Images 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!