How to know a square object's orientation?

3 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Image Analyst
Image Analyst il 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 Commento
Ingrid Lopes
Ingrid Lopes il 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 =)

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by