Finding average diameter of bacteria using FFT .
Show older comments
I have an electronic microscopic image

that contains thousands of bacteria. I need to estimate the average diameter of the bacterium in the photo using FFT. Value can be in pixels.
Answers (2)
Akira Agata
on 11 Oct 2017
Need to use FFT?
I think you can find average diameter by using imfindcircles function, like:
% Read the image and binarize
I = imread('bacteria.jpg');
% Find circles using Hough transform
[centers, radii] = imfindcircles(I,[20 50]);
% Show the result
imshow(I);
viscircles(centers, radii,'EdgeColor','b');
By this script, 426 bacterias were detected, as shown in the following image. And here is an average radius in pixel.
>> mean(radii)
ans =
32.3151

6 Comments
learningDSP
on 11 Oct 2017
Image Analyst
on 11 Oct 2017
Why?
learningDSP
on 13 Oct 2017
John D'Errico
on 13 Oct 2017
So this is homework then?
learningDSP
on 13 Oct 2017
Akira Agata
on 22 Oct 2017
Maybe the following page will be helpful.
Image Analyst
on 13 Oct 2017
OK, let's start with
fftImage = fft2(grayImage);
and see where that gets us. Also write down the formula for fourier transform of a circle with randomly placed delta functions.
Then post your code after you read this: http://www.mathworks.com/matlabcentral/answers/8626-how-do-i-get-help-on-homework-questions-on-matlab-answers
Categories
Find more on Image Category Classification in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!