How to know a square object's orientation?

3 次查看(过去 30 天)
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?

采纳的回答

Image Analyst
Image Analyst 2020-4-18
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 个评论
Ingrid Lopes
Ingrid Lopes 2020-4-18
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 =)

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by