Cluster 3D data

6 visualizaciones (últimos 30 días)
Amarbold Purev
Amarbold Purev el 23 de Feb. de 2021
Comentada: darova el 24 de Feb. de 2021
Hello,
I have a combined X Y Z camera coordinates and I want to cluster them into 2 groups.
I have tried the following code:
n = length(camLoc);
cam_A = NaN(n,3);
cam_B = NaN(n,3);
idx = kmeans(camLoc,2, 'Distance', 'cityblock', 'Start', 'uniform', 'Replicates',5);
for i = 1:n
if idx(i) == 1
cam_A(i,:) = camLoc(i,:);
else
cam_B(i,:) = camLoc(i,:);
end
end
cam_A(any(isnan(cam_A), 2), :) = [];
cam_B(any(isnan(cam_B), 2), :) = [];
scatter3(cam_A(:,1),cam_A(:,2),cam_A(:,3),'r');
hold on
scatter3(cam_B(:,1),cam_B(:,2),cam_B(:,3),'b');
and the results is shown below.
However, I want to cluster not vertically but horizontally. In other words, I want the data, that it would look like a 2 long noodles.
Thanks in advance.

Respuesta aceptada

darova
darova el 23 de Feb. de 2021
  2 comentarios
Amarbold Purev
Amarbold Purev el 24 de Feb. de 2021
Thank you @darova it really helped.
Simple clusterdata worked like a charm.
idx = clusterdata(camLoc,2);
darova
darova el 24 de Feb. de 2021

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by