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%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:
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%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.
Tags und Links point-cloud-library point-clouds