How to label objects based on their area?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Dear all,
I have an image that contains many objects. I want to label each object with different color such that objects with the same area will have the same label color. In the same way, small objects will appear with a color located down of the jet color map (dark blue), while larger object will have a color located up of the jet color map (dark red). I am now using this code which label the objects randomly with different color
img = imread('real_sampel_dilate1.tif'); % input image attached here
%
I = im2bw(img);
I = ~I;
I = (I==0);
cc = bwconncomp(I,8);
s = regionprops(cc,img,'all');
L = labelmatrix(cc);
RGB_label = label2rgb(L, @jet, 'k', 'shuffle');
%
imshow(RGB_label); % the result randomly labeled of object attached here
Do anyone knows how to do such area-based labeling?
Any suggestion will be appreciated.
Best, Meshoo
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/155365/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/155367/image.png)
0 comentarios
Respuestas (1)
Explorer
el 21 de En. de 2014
Editada: Explorer
el 21 de En. de 2014
Have a look on answer of Image Analyst. He has labeled face and hand on the basis of area.
2 comentarios
Explorer
el 21 de En. de 2014
These below mentioned lines are for drawing bounding box around every object in image.
for k = 1 : length(measurements)
thisBB = measurements(k).BoundingBox;
rectangle('Position', [thisBB(1),thisBB(2),thisBB(3),thisBB(4)],...
'EdgeColor','r','LineWidth',2 )
end
Ver también
Categorías
Más información sobre Blue en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!