MATLAB Answers

How to know a square object's orientation?

10 views (last 30 days)
Hello, I have to scan several images of rectangles and rotate 45º only the ones that already have a 45º rotation. I tried to find the orientation using regionprops with Orientation, but it doesn't work, for the rectangles that were diagonaly placed I found all diferent types of values like 3.5 or -4.7 to -68. Anyone know how to discover the orientation of rectangles?


Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 18 Apr 2020
Try getting the perimeter using bwboundaries() then using fitPolynomialRansac() (in the Computer Vision Toolbox) to get the equation of one of the sides.
boundaries = bwboundaries(binaryImage);
Then use regionprops() to find the centroid and bounding box
props = regionprops(binaryImage, 'BoundingBox', 'Centroid');
and crop it out and rotate it and paste it back in. I'm attaching copy and pasting image demos.

  1 Comment

Ingrid Lopes
Ingrid Lopes on 18 Apr 2020
Hi thanks for the answer. I got it a while ago.
I used two filter, one to find lines at a 45º and the other for lines at -45º. with those i found the boundaries from the rectangles that were rotated and with an if I rotated the objets that the mask from the two filters had nnz higher than 50. It worked thank god xD
But thanks for answering me anyway =)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!