我是使用PCL(點雲庫)的新成員。我試圖聲明在QT對象類的點雲私有,這樣的:在QT對象類中聲明PCL點雲
class pcl_sys : public QThread
{
Q_OBJECT
public:
explicit pcl_sys();
~pcl_sys();
void stop();
bool load_pcd_file(int type);
signals:
public slots:
protected:
void run();
private:
pcl::PointCloud<pcl::PointXYZ>::Ptr *cloud_test;
};
然後我新的點雲,當我打開該程序:
pcl_sys::pcl_sys()
{
cloud_test=0;
cloud_test= new pcl::PointCloud<pcl::PointXYZ>::Ptr (new pcl::PointCloud<pcl::PointXYZ>);
}
,但是當我嘗試清除當我嘗試加載一個文件時,QT給我一個錯誤顯示點不屬於模板cloud_test。
bool pcl_sys::load_pcd_file(int choice)
{
cloud_test->points.clear();
}
如何解決此問題?非常感謝你。
還有一個問題,謝謝。它適用於'points.clear();'我有點搞砸了。我現在無法加載文件。 'pcl :: io :: loadPCDFile(fileName.toStdString(),cloud_test-> get() - > Ptr)' – KKyang
注意轉換,如果你已經使用了'pcl :: PointCloud :: Ptr cloud_test;'然後你應該使用這樣的函數:'pcl :: io :: loadPCDFile(「o.pcd」,*(cloud_test-> get()));' –
謝謝。我對這些類型搞砸了。 – KKyang