Finding average diameter of bacteria using FFT .

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 日

1 投票

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 件のコメント

learningDSP
learningDSP 2017 年 10 月 11 日
Thanks for the answer. We can do it this way. But, I specifically need to use FFT.
Image Analyst
Image Analyst 2017 年 10 月 11 日
Why?
learningDSP
learningDSP 2017 年 10 月 13 日
that's the requirement
John D'Errico
John D'Errico 2017 年 10 月 13 日
So this is homework then?
learningDSP
learningDSP 2017 年 10 月 13 日
yes
Akira Agata
Akira Agata 2017 年 10 月 22 日
Maybe the following page will be helpful.

サインインしてコメントする。

Image Analyst
Image Analyst 2017 年 10 月 13 日

0 投票

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.

質問済み:

2017 年 10 月 9 日

コメント済み:

2017 年 10 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by