MATLAB Answers

Grouping boundary points of several ROIs

1 view (last 30 days)
Sunetra Banerjee
Sunetra Banerjee on 23 Jun 2021
Commented: DGM on 23 Jun 2021
Hi,
I have 6 region of interests (ROI) and their boundary points and centroids. I got this boundary points randomly through MATLAB programming. Do you have an idea how to group them according to corresponding ROIs in MATLAB? I need individual ROI's boundary points for further calculations.
I have applied Kmeans and it didn't work.
  5 Comments
DGM
DGM on 23 Jun 2021
Yes, but like I said, bear in mind which one is "first", "second", etc. The label array L contains a map of each object it found in the image, each labeled with their ordinal value. In this case, the objects are numbered [5 6 4 3 2 1] from top to bottom.

Sign in to comment.

Accepted Answer

DGM
DGM on 23 Jun 2021
Edited: DGM on 23 Jun 2021
This may be extraneous, but if you don't need the boundary coordinates for anything other than finding the extrema, consider this instead:
inpict = imread('lumber.png')>128;
% you'll need the centroid anyway
S = regionprops(inpict,'centroid','extrema');
imshow(inpict); hold on
for n = 1:numel(S)
% calculate the right and left extrema of this object
rextrema = mean(S(n).Extrema(3:4,:),1);
lextrema = mean(S(n).Extrema(7:8,:),1);
% for sake of demonstration, show where the extrema are
plot(rextrema(1),rextrema(2),'*')
plot(lextrema(1),lextrema(2),'*')
end
  3 Comments
DGM
DGM on 23 Jun 2021
That's a good point. I was assuming the goal was to find the horizontal extrema instead of the maximal diameter.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!