Ich habe eine XYZRGB
-formatierte Punktwolke Daten. Die Dateigröße ist riesig und besteht aus Hunderttausenden von Punkten. Wie kann ich die Dichte von Punkten verringern? Sagen Sie für jeden 10 Nachbarn, ich möchte einen einzigen Punkt Durchschnitt aller anderen Punkte (sowohl XYZ und RGB) haben. Jeder Code in Java oder Matlab ist willkommen. Hier ist ein Beispiel .ply Punkt Cloud-Datei, die Sie bearbeiten können: https://drive.google.com/open?id=0B667VfPLdu3_RVpKV1liZ0ktRVUVerringern Sie die Dichte von 3D-Punktwolken
Ich habe versucht, einige Interpolation in Matlab wie folgt. Aber das ist nicht was ich will. Ich muss die Dichte verringern.
% Load Point Cloud:
Point_Cloud = importdata(‘Point_Cloud_1.txt')
x = Point_Cloud(1,:)';
y = Point_Cloud(2,:)';
z = Point_Cloud(3,:)';
% Interpolate inspection points:
Density = 300;
[X,Y] = meshgrid(linspace(min(x), max(x), Density), linspace(min(y), max(y), Density));
F = scatteredInterpolant(x, y, z, 'natural','linear');
Z = F(X,Y);
Int_PC = [reshape(X,Density^2,1) reshape(Y,Density^2,1) reshape(Z,Density^2,1)];
Int_PC(any(isnan(Int_PC{i}),2),:) = [];
% Plot results:
scatter3(x, y, z, 20, 'r', 'fill'); % Original data
hold on;
scatter3(Int_PC(:,1), Int_PC(:,2), Int_PC(:,3), 20, 'r', 'fill'); % Interpolated data
@SardarUsama Ich fügte eine Beispieldatei hinzu. –
@SardarUsama Leider habe ich versucht, die meisten verwandten Tags hinzuzufügen. Schlecht, ich bin auf 5 begrenzt. Es ist jetzt zurück! –