MCPcopy Create free account
hub / github.com/WPC-WHU/GROR / issKeyPointExtration

Method issKeyPointExtration

src/gror_pre.cpp:19–45  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17}
18
19void GrorPre::issKeyPointExtration(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud, pcl::PointCloud<pcl::PointXYZ>::Ptr ISS, pcl::PointIndicesPtr ISS_Idx, double resolution)
20{
21 double iss_salient_radius_ = 6 * resolution;
22 double iss_non_max_radius_ = 4 * resolution;
23 //double iss_non_max_radius_ = 2 * resolution;//for office
24 //double iss_non_max_radius_ = 9 * resolution;//for railway
25 double iss_gamma_21_(0.975);
26 double iss_gamma_32_(0.975);
27 double iss_min_neighbors_(4);
28 int iss_threads_(1); //switch to the number of threads in your cpu for acceleration
29
30 pcl::search::KdTree<pcl::PointXYZ>::Ptr tree(new pcl::search::KdTree<pcl::PointXYZ>());
31 pcl::ISSKeypoint3D<pcl::PointXYZ, pcl::PointXYZ> iss_detector;
32
33 iss_detector.setSearchMethod(tree);
34 iss_detector.setSalientRadius(iss_salient_radius_);
35 iss_detector.setNonMaxRadius(iss_non_max_radius_);
36 iss_detector.setThreshold21(iss_gamma_21_);
37 iss_detector.setThreshold32(iss_gamma_32_);
38 iss_detector.setMinNeighbors(iss_min_neighbors_);
39 iss_detector.setNumberOfThreads(iss_threads_);
40 iss_detector.setInputCloud(cloud);
41 iss_detector.compute(*ISS);
42 ISS_Idx->indices = iss_detector.getKeypointsIndices()->indices;
43 ISS_Idx->header = iss_detector.getKeypointsIndices()->header;
44
45}
46
47void GrorPre::fpfhComputation(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud, double resolution, pcl::PointIndicesPtr iss_Idx, pcl::PointCloud<pcl::FPFHSignature33>::Ptr fpfh_out)
48{

Callers

nothing calls this directly

Calls 1

setNumberOfThreadsMethod · 0.80

Tested by

no test coverage detected