Grouping boundary points of several ROIs
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sunetra Banerjee
el 23 de Jun. de 2021
Comentada: DGM
el 23 de Jun. de 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 comentarios
DGM
el 23 de Jun. de 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.
Respuesta aceptada
DGM
el 23 de Jun. de 2021
Editada: DGM
el 23 de Jun. de 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 comentarios
Image Analyst
el 23 de Jun. de 2021
For next time, look up bwboundaries() - better than boundary(). Also look up bwferet() if you want extrema locations and distances.
DGM
el 23 de Jun. de 2021
That's a good point. I was assuming the goal was to find the horizontal extrema instead of the maximal diameter.
Más respuestas (0)
Ver también
Categorías
Más información sobre Image Segmentation and Analysis en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!