Cluster 3D data
Show older comments
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.

Accepted Answer
More Answers (0)
Categories
Find more on Hierarchical Clustering in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!