Bounding box width and Y coordinate in image processing

5 views (last 30 days)
Hi there can someone help with something...
I need to dete
ct the width of an object surrounded by a bounding box. I have the centroid for it and i need to calculate at first the distance between the centroid and the left side of the box(and put this in a variable); and then the width between the centroid and the right hand side of the box(a new variable). after that i can calculate the width of the whole object buy doing a sum between both variables. i need to do it this way - don't ask why cuz I don't know either. I have attached a photo maybe you will understand better
this is what i have so far in terms of coding
prop = regionprops(imgFill);
hold on
for n=1:length(prop)
rectangle('Position',prop(n).BoundingBox,'EdgeColor','b','LineWidth',2);
x = prop(n).Centroid(1);
y = prop(n).Centroid(2);
plot(x,y);
end
hold off

Accepted Answer

Image Analyst
Image Analyst on 14 Mar 2016
Try this:
props = regionprops(imgFill, 'Centroid', 'BoundingBox');
hold on
for k=1:length(props)
thisCentroid = props(k).Centroid;
thisBoundingBox = props(k).BoundingBox;
rectangle('Position',props(k).BoundingBox,'EdgeColor','b','LineWidth',2);
x = prop(k).Centroid(1);
y = prop(k).Centroid(2);
plot(x, y, 'r+', 'MarkerSize', 13, 'LineWidth', 2);
% Find the left edge and right edge of the bounding box.
leftColumn = thisBoundingBox(1) + 0.5;
rightColumn = thisBoundingBox(1) - 0.5;
% Find the distance of them to the centroid.
leftDistance(k) = x - leftColumn
rightDistance(k) = rightColumn - x
% Plot a line between them
line([leftColumn, rightColumn], [y, y], 'Color', 'g');
end
hold off
  6 Comments
Soul Keeper
Soul Keeper on 14 Mar 2016
sorry my bad this is what i did
topDistance(k) = y - topRow;
botDistance(k) = -(bottomRow - y);
[max_num_top, max_idx_top]=max(topDistance(:));
[max_num_bot, max_idx_bot]=max(botDistance(:));
max_num_top
max_num_bot
it gives me the right value. i've got confused with something - don't know what either :-/
Soul Keeper
Soul Keeper on 14 Mar 2016
anyway.. i wanted to say .. sir.. you are a star! thank you so much!

Sign in to comment.

More Answers (0)

Categories

Find more on Surfaces, Volumes, and Polygons in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!