Drawing 4-sided polygons around objects
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello
I wrote a code to approximate each brick in this image into rectangles. However, some bricks in other images can't be approximated into rectangles due to the irregular shape
So, I need to draw a 4-sided polygon around each brick. Can any one help me?
Here is the rectangle's code:
clc; clear; close;
I = imread ('1.png');
figure, imshow(I);
IBW = imbinarize(rgb2gray(I));
[L, num ] = bwlabel(IBW);
bboxes = regionprops(L, 'BoundingBox');
figure, imshow(IBW);
hold on
for k=1 : length(bboxes)
curbb = bboxes(k). BoundingBox;
rectangle ('Position',[curbb(1),curbb(2),curbb(3),curbb(4)], 'EdgeColor','g', 'LineWidth', 1)
end
hold off
0 commentaires
Réponses (1)
Matt J
le 28 Oct 2020
This will help to find the corners of the boxes.
Use the line() command instead of rectangle() to draw general quadrilaterals.
2 commentaires
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!