How to know a square object's orientation?

7 次查看(过去 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 个)

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by