How to find the minimum area bounding box of a region returned from regionprops

4 views (last 30 days)
For an image containing rectangles that are rotated with respect to the image axes, regionprops will return the bounding box coordinates of an ROI containg a rectangle, but with the ROI edges parallel with the image edges. The minimum area bounding box would be an ROI having verticies congruent with the rectangles corners; a bounding box with edges not parallel to the image axes.
Is there a function that utilizes the output of regionprops for a given region in an image and produces the minimum area bounding box? It seems this should be possible using the Feret dimensions.

Answers (1)

Image Analyst
Image Analyst on 4 Jan 2024
Yes it is. Did you actually try to use the bwferet function? If not, you should.
  2 Comments
Jeremy
Jeremy on 9 Jan 2024
Moved: Image Analyst on 9 Jan 2024
Yes. However, the "A suite of minimal bounding objects" at https://www.mathworks.com/matlabcentral/fileexchange/34767-a-suite-of-minimal-bounding-objects?s_tid=srchtitle was necessary to provide a "tilted rectangle" bounding box.
Even so, it seems that without the MSER "minimum diversity" parameter not being accessible in the detectMSERFeatures causes minor noise on the edges of a real rectangle (similar to a "hanging chad") in an image to be fit within the corners identified for the tilted rectangle bounding box. This could probably be mitigated for "known tilted rectangles" by performing a least squares fit on each edge of the pixel region, but the minimum diversity should allow for minor noises to be droped from the pixel list for a MSER feature.
Is the minimum diversity able to be set is some other fashion?
Image Analyst
Image Analyst on 9 Jan 2024
Moved: Image Analyst on 9 Jan 2024
I don't know. You can try editing the function - sometimes the source code is available. Then you could make a copy and code in your custom modifications.

Sign in to comment.

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!