Hi, i removed objects who are small, but i need also remove objets who is by formula height > width, so i need remove objects who have biggest height than width, i set bounding box but i stop.
CC = bwconncomp(BW1, 8);
S = regionprops(CC, 'Area');
L = labelmatrix(CC);
P = 1500;
BW2 = ismember(L, find([S.Area] >= P));
figure, imshow(BW2);
st = regionprops(BW2, 'BoundingBox', 'Orientation' );
L = labelmatrix(CC);
for k = 1 : length(st)
thisBB = st(k).BoundingBox;
rectangle('Position', [thisBB(1),thisBB(2),thisBB(3),thisBB(4)],...
'EdgeColor','r','LineWidth',2 )
end
Thanks for your answers

답변 (2개)

Walter Roberson
Walter Roberson 2016년 4월 9일

0 개 추천

BB = vertcat(st.BoundingBox);
BB_W = BB(:,3);
BB_H = BB(::4);
wrong_shape = BB_H > BB_W;
st(wrong_shape) = []; %get rid of them

댓글 수: 1

Torkan
Torkan 2019년 10월 18일
Hi Walter,
How can now we show those objects?

댓글을 달려면 로그인하십시오.

Torkan
Torkan 2019년 10월 18일

0 개 추천

We should remove the last line from the BW2 , right? How can we do that?

질문:

2016년 4월 9일

답변:

2019년 10월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by