Bounding box width and Y coordinate in image processing

조회 수: 5 (최근 30일)
Soul Keeper
Soul Keeper 2016년 3월 14일
댓글: Soul Keeper 2016년 3월 14일
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

채택된 답변

Image Analyst
Image Analyst 2016년 3월 14일
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
Soul Keeper
Soul Keeper 2016년 3월 14일
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 2016년 3월 14일
anyway.. i wanted to say .. sir.. you are a star! thank you so much!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Surfaces, Volumes, and Polygons에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by