PCL: Visualisieren Sie eine Punktwolke

8

Ich versuche, die Punktwolke mithilfe von PCL CloudViewer zu visualisieren. Das Problem ist, dass ich ziemlich neu in C ++ bin und zuerst zwei Tutorials gefunden habe Erstellung von PointCloud und zweiten Demonstration der Visualisierung einer PointCloud. Ich kann diese beiden Tutorials jedoch nicht kombinieren.

Hier ist, womit ich komme:

%Vor%

aber das kompilieren auch nicht:

%Vor%     
liborw 11.04.2012, 12:52
quelle

4 Antworten

7

Ihre Fehlermeldung sagt Ihnen, was Sie tun müssen:

%Vor%

Gehen Sie also zur Dokumentation für CloudViewer und sehen Sie sich an, welche Argumente diese Member-Funktion verwendet: Ссылка

Dort sehen wir, dass ein const MonochromeCloud::ConstPtr &cloud nicht die rohe Referenz ist, die Sie übergeben. Dies ist ein typedef eines intelligenten Zeigers von boost:

%Vor%

Wenn Sie also Ihre Cloud erstellen, müssen Sie sie in einen dieser Smart Pointer umwandeln, anstatt sie als lokale Variable zu definieren. Etwas wie (ungetestet):

%Vor%

Wenn Sie dann die Variable cloud übergeben, hat sie den richtigen Typ und Sie erhalten den von Ihnen gemeldeten Fehler nicht. Sie müssen auch Ihre cloud.foo s zu cloud->foo s ändern.

Wenn Sie sich das zweite Beispiel ansehen, das Sie angeben, tun sie das auch:

> %Vor%     
ahcox 11.04.2012, 13:27
quelle
4

Um die Antwort sofort zu geben:

%Vor%

Dann ptrCloud in den Viewer einfügen, was es erwartet:

%Vor%     
TimZaman 01.02.2014 23:25
quelle
0

Das Tutorial für Cloud Viewer pcl cloudviewer-tutorial Ссылка definiert die Punktwolke wie folgt:

%Vor%

Aber Sie haben geschrieben:

%Vor%

Versuchen Sie also, die Wolke als & amp; wolke statt als Wolke zu übergeben oder deklarieren Sie sie als Zeiger.

    
Swagatika 04.08.2013 17:16
quelle
0

Wenn jemand anders gerade in ROS sucht, wie es gemacht wird, kann es einfach getan werden mit:

%Vor%

Die Includes könnten wahrscheinlich mehr gesäubert werden:)

    
JTIM 23.01.2017 19:39
quelle