Remove objects from binary image

2 Ansichten (letzte 30 Tage)
Gytis Raudonius
Gytis Raudonius am 9 Apr. 2016
Beantwortet: Torkan am 18 Okt. 2019
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

Antworten (2)

Walter Roberson
Walter Roberson am 9 Apr. 2016
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 Kommentar
Torkan
Torkan am 18 Okt. 2019
Hi Walter,
How can now we show those objects?

Melden Sie sich an, um zu kommentieren.


Torkan
Torkan am 18 Okt. 2019
We should remove the last line from the BW2 , right? How can we do that?

Community Treasure Hunt

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

Start Hunting!

Translated by