Effacer les filtres
Effacer les filtres

How to count area under given surface ?

2 vues (au cours des 30 derniers jours)
MMSAAH
MMSAAH le 30 Avr 2020
Commenté : Ameer Hamza le 4 Mai 2020
Hello,
I want to count areas limited by green lines.
So, for my image the result is three areas.
Can anyone help me please.
  1 commentaire
darova
darova le 30 Avr 2020
do you have coordinates of green lines?

Connectez-vous pour commenter.

Réponse acceptée

Ameer Hamza
Ameer Hamza le 30 Avr 2020
Modifié(e) : Ameer Hamza le 30 Avr 2020
Try this. It gives the area of three regions in number of pixels
im = im2double(imread('area.jpeg'));
im(:,end-5:end,:) = 0; % remove the white line at right and bottom of image
im(end-5:end,:,:) = 0;
mask = (im(:,:,1)>0.75) & (im(:,:,2)>0.75) & (im(:,:,3)>0.75);
regions = bwconncomp(mask);
areas = cellfun(@(x) numel(x), regions.PixelIdxList);
required_areas = maxk(areas, 3);
  4 commentaires
MMSAAH
MMSAAH le 4 Mai 2020
I'm using R2016a.
I've changed maxk() by :
[val ind] = sort(areas,'descend');
required_areas=val(1:3);
Now, it works.
Is it possible to transform the number of pixels to cm ?
Ameer Hamza
Ameer Hamza le 4 Mai 2020
You will need to specify the pixel per cm to find out the area.

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by