Largest rectangle inscribed inside multiple blobs
2 views (last 30 days)
Show older comments
Sunetra Banerjee
on 15 Jul 2021
Commented: Sunetra Banerjee
on 15 Jul 2021
Hi,
I have few blobs where I need to fit the largest area rectangle inside. I used the matlab function LargestRectangle to find the rectangle and it works well for a single blob.
a = imread('blob.png');
LRout=LargestRectangle(a);
But how to get rectangles for multiple blobs in the same image?
I have gone through regionprops. What I understood is, I need to seperate each blob and then calculate the highest rectangle for each one as I can't use LargestRectangle with regionprops. Now my question is how to separate each blob so that I can get the largest rectangle for each one?
0 Comments
Accepted Answer
Simon Chan
on 15 Jul 2021
Edited: Simon Chan
on 15 Jul 2021
How about separate them into 6 different images and put into the function?
The images are stored in BW(:,:,1) to BW(:,:,6).
A = imread('Matlab output of blob seq.png');
[L,n]=bwlabel(A);
tiledlayout(2,3)
for k=1:n
nexttile
BW(:,:,k)=(L==k);
imshow(BW(:,:,k));
end
3 Comments
Simon Chan
on 15 Jul 2021
Edited: Simon Chan
on 15 Jul 2021
Use this:
A = imread('Matlab output of blob seq.png');
[L,n]=bwlabel(A);
for k=1:n
BW(:,:,k)=(L==k);
subplot(2,3,k)
imshow(BW(:,:,k));
end
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!