PointCloudLibrary (PCL) - Octree - รับดัชนีของจุดทั้งหมดภายในโหนด *branch*

ฉันเพิ่งเริ่มใช้ PCL และฉันต้องการรับดัชนีทั้งหมดจากโหนด สาขา ใน pcl::octree ดังนั้นโหนดรูทควรจัดเตรียมดัชนีของจุดของลีฟโหนดทั้งหมดภายในโหนดสาขานี้ทุกดัชนีและแต่ละโหนดสาขาย่อย อะไรคือวิธีที่ดีที่สุดในการบรรลุเป้าหมายนี้?

ฉันใช้ก

pcl::octree::OctreePointCloudSearch<pcl::PointXYZ, pcl::octree::OctreeContainerPointIndices, pcl::octree::OctreeContainerPointIndices>

และหวังว่าพารามิเตอร์เทมเพลตที่ 3 สำหรับ BranchContainerT จะตั้งค่าเป็น pcl::octree::OctreeContainerPointIndices เพื่อให้สามารถเรียกบางอย่างเช่น

std::vector<int> indices;
auto it = m_octree->breadth_begin();
it.getBranchContainer().getPointIndices(indices)

อย่างไรก็ตาม เวกเตอร์ดัชนีว่างเปล่า แน่นอน ฉันสามารถวนซ้ำโหนดทั้งหมดด้วยตนเอง รับลีฟและแทรกดัชนี แต่บางทีฉันอาจจะพลาดอะไรบางอย่างที่นี่ .. ?


comment
อืม ไม่มีใครคุ้นเคยกับ PCL เลยเหรอ?   -  person Simon    schedule 07.11.2017


คำตอบ (1)


ตกลง สิ่งที่ฉันขาดหายไปคือพารามิเตอร์เทมเพลตสำหรับ BranchContainerT ที่ตั้งค่าเป็น pcl::octree::OctreeContainerPointIndices เท่านั้น ให้ ตัวเลือกแก่คุณในการจัดเก็บดัชนีในคอนเทนเนอร์ประเภทนี้ อย่างไรก็ตาม การเพิ่มดัชนีเหล่านี้เป็นสิ่งที่คุณต้องทำด้วยตนเอง

เนื่องจากเป็นเพียงเรื่องของการตรวจสอบแต่ละโหนดเพื่อดูประเภทของมัน และรวบรวมดัชนีจากลีฟและเพิ่มลงในโหนดสาขา

person Simon    schedule 08.11.2017