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.
Why?
learningDSP
learningDSP 2017년 10월 13일
that's the requirement
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