# Grouping boundary points of several ROIs

1 view (last 30 days)
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.
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.

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:
% 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 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.