Apologies if the question title is confusing.
I've got some code below in MATLAB, which identifies squares/rectangles in an image.
img = imread('image.jpg'); imgbw = im2bw(image); filter = bwareafilt(imagebw, [800 10000]); fill = imfill(imgbw,'holes'); area = bwareaopen(fill,15); final = bwlabel(area); dets = regionprops(final,'boundingbox'); figure(1), imagesc(I1); hold on; for count = 1 : numel(dets) gg = dets(count).BoundingBox; rectangle('position',gg,'edgecolor','r','linewidth',2); end
I keep getting results where I am identifying squares, within another square I have already identified. i.e.:
What I wanted, was to identify the yellow as one square/rectangle, and leave it at that. But as you can see, I've identified my rectangle/square, but also identified squares in the middle. Does anyone know how I can get ignore shapes, that are also inside previously identified squares?