I have image with different cell size but I want Count the number of big cells only!!
I try this code:
A = imread ('cell.png');
level=graythresh(A);
I=im2bw(A,level);
[labeled,numObjects]=bwlabel(I,4)
numObjects = 26

 Réponse acceptée

Dishant Arora
Dishant Arora le 10 Mar 2014
Modifié(e) : Dishant Arora le 10 Mar 2014

0 votes

use bwareaopen to remove objects smaller than certain number of pixels.
BW2 = bwareaopen(BW, thresh);
[~, numObjects] = bwlabel(BW2,4);

2 commentaires

Moon Shadow
Moon Shadow le 21 Mar 2014
It did nit worked with me!!
It calculate small and big cells.
I = imread('cell.png'); EDU>> imshow(I); EDU>> bw = im2bw(I); EDU>> figure,imshow(bw);
EDU>> BW2 = bwareaopen(bw, 1000); EDU>> figure,imshow(BW2); [labeled,numObjects]=bwlabel(BW2,4) numObjects = 10
Dishant Arora
Dishant Arora le 25 Mar 2014
Check out for 8-connectivity when using bwlabel or attach your image.

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 25 Mar 2014

0 votes

See my code to extract the largest blob, attached below in blue. In there, there is a general purpose function I wrote that can take the N largest or smallest blobs in a binary image.

Community Treasure Hunt

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

Start Hunting!

Translated by