How to calculate the area of only white part in the image

7 vues (au cours des 30 derniers jours)
kanika bhalla
kanika bhalla le 22 Avr 2021
Commenté : kanika bhalla le 23 Avr 2021
I want to calculate the area of only white part as shown in the figure. I had used - bwarea(image). But I am not sure whether its calculating correct area or not. As I just need the white portion area.
Any help is much appreciated.
Thank you in advance!!
  2 commentaires
Jonas
Jonas le 22 Avr 2021
you could count the white pixels, divide it by overall number of pixels and multiply it with the real size of the image
kanika bhalla
kanika bhalla le 22 Avr 2021
Hi Jonas,
Thank you for your answer. But I need some automatic way to calculate the area of white portion. Any help related to this is much appreciated.
Thank you!!

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 23 Avr 2021
You simply use nnz on your binary image to get the area in pixels
whiteArea = nnz(mask)
or you could use bwarea() - it uses a somewhat different algorithm for determining area (it's not just counting pixels).
whiteArea = bwarea(mask)
  1 commentaire
kanika bhalla
kanika bhalla le 23 Avr 2021
Hi Image Analyst,
Thank you for introducing me to new function- nnz
As i have checked doc nnz. n = nnz(MASK). It returns the number of nonzero elements in matrix X. I have confusion then how it will calculate the area.
Now I have used bwarea() to calculate the area of white portion.
Thank you for your useful answers and help!!

Connectez-vous pour commenter.

Plus de réponses (1)

Stephan
Stephan le 22 Avr 2021
Modifié(e) : Stephan le 22 Avr 2021
Same as in your question yesterday: regionprops will solve both problems in 1 line of code.
  3 commentaires
Stephan
Stephan le 22 Avr 2021
Modifié(e) : Stephan le 22 Avr 2021
In your case 'basic' should be helpful - this gives the centroid and the area
kanika bhalla
kanika bhalla le 23 Avr 2021
Hi Stephan,
Thank you for your help.
I tried what you guided me as shown below.
M=imread('C:\Users\Ucl\Desktop\test\mask_14H14\groundtruth_for_metrics\129groundtruth.jpg');
cc = bwconncomp(M);
stats = regionprops(cc,'Area');
But this is not giving me teh one desired output. Could you please guide me further why the output looks like this. I should get one area of only white portion.
Thank you!!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Denoising and Compression dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by