저는 PCL (포인트 클라우드 라이브러리)을 사용하는 것이 처음입니다. 내가 프로그램을 개방 할 때 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;
};
가 그럼 난 점 구름을 새로운 : :이처럼 개인적으로 QT 객체 클래스에서 점 구름을 선언하려고
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 :: PointCloud :: Ptr을 사용했다면, 변환에주의를 기울여야한다. (pcl :: io :: loadPCDFile (fileName.toStdString(), cloud_test-> get() -> Ptr)' –
KKyang
cloud_test;'그러면 다음과 같은 함수를 사용해야합니다 :'pcl :: io :: loadPCDFile ("o.pcd", * (cloud_test-> get())),' –
. 나는 이런 종류의 일에 열중하고 있습니다. – KKyang