How to label objects based on their area?
조회 수: 2 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Explorer
2014년 1월 21일
편집: Explorer
2014년 1월 21일
Have a look on answer of Image Analyst. He has labeled face and hand on the basis of area.
댓글 수: 2
Explorer
2014년 1월 21일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Blue에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!