Finding average diameter of bacteria using FFT .

4 次查看(过去 30 天)
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.

回答(2 个)

Akira Agata
Akira Agata 2017-10-11
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 个评论

请先登录,再进行评论。


Image Analyst
Image Analyst 2017-10-13
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.

Community Treasure Hunt

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

Start Hunting!

Translated by