Grouping boundary points of several ROIs
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Sunetra Banerjee
am 23 Jun. 2021
Kommentiert: DGM
am 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 Kommentare
DGM
am 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.
Akzeptierte Antwort
DGM
am 23 Jun. 2021
Bearbeitet: DGM
am 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 Kommentare
Image Analyst
am 23 Jun. 2021
For next time, look up bwboundaries() - better than boundary(). Also look up bwferet() if you want extrema locations and distances.
DGM
am 23 Jun. 2021
That's a good point. I was assuming the goal was to find the horizontal extrema instead of the maximal diameter.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Image Segmentation and Analysis finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!