Ich bin neu bei PCL (Point Cloud-Bibliothek), und ich habe versucht, Supervoxel_Clustering (this link) auf meinem benutzerdefinierten Datensatz zu implementieren. Mein Punktwolken-Dataset hat diese Felder: X Y Z R G B L1 L2
wobei R, G, B integer
Werte zwischen 0-255
und L1 und L2 sind integer
Etiketten.Halten Sie benutzerdefinierte Felder während des Supervoxel-Clustering-Prozesses in Point Cloud Bibliothek (PCL)
Nach supervoxel Anwendung, speichere ich die Punktwolken mit den Aufschriften:
/// save the labeled cloud
PointLCloudT::Ptr labeled_cloud = super.getLabeledCloud();
pcl::io::savePCDFileASCII("/path/labeled_cloud.pcd", *labeled_cloud);
Meine Frage ist: Wie meine Etiketten und Farben während des Prozesses von den ursprünglichen Punkt Wolken zu übertragen. Ich versuche, meinen eigenen Punkttyp zu definieren, etwas wie: X Y Z R G B L1 L2 L3
, aber mit dem Tutorial zu Punkttypen ist es nicht trivial das zu tun. Eine Dummy-Lösung, die ich denke, verwendet KD-Baum und Transfer Etiketten von Supervoxel Ergebnis zu den ursprünglichen Punkten, aber immer noch muss ich meine ursprünglichen Punkte mit allen benutzerdefinierten Felder in pcl lesen.
Jeder kann mir dabei helfen?
Danke, Bruce
Vielen Dank für Ihre Antwort. Ich dachte an diese Lösung, es ist einfach, aber nicht sicher. Denn wenn während des Supervoxle-Prozesses einer der ursprünglichen Punkte entfernt wird oder NaN-Werte vorhanden sind oder aus irgendeinem anderen Grund die Reihenfolge geändert wird, macht das Kopieren von Etiketten ein Durcheinander. – Bruce
Aber filtert es Nan Werte aus? Ich denke es nicht. Wenn Sie in Ihrem Beispiel die Punktwolke milk_cartoon_all_small_clorox.pcd betrachten, scheint diese die Punkte nan (xyz nan, color value exists) zu haben, und dennoch liefert die getLabeledCloud() -Methode genau die gleiche Menge an Punkten und diejenigen, die xyz-Daten haben sind die Spiele. – Rooscannon
Hinzufügen Std :: Cout << cloud-> Punkte [0] << "\ n" << cloud-> Punkte [1] << "\ n"; im Beispielcode und es wird (nan, nan, nan - 18,23,9,0) auszudrucken (nan, nan, nan - 18,21,11,0) nicht entfernt Ihre Implementierung Punkte? – Rooscannon