72 const int width =
static_cast<int>(input_->width);
73 const int height =
static_cast<int>(input_->height);
76 std::vector<unsigned char> image_data (width*height);
78 for (std::size_t i = 0; i < image_data.size (); ++i)
79 image_data[i] =
static_cast<unsigned char> (intensity_ ((*input_)[i]));
81 pcl::keypoints::brisk::ScaleSpace brisk_scale_space (octaves_);
82 brisk_scale_space.constructPyramid (image_data, width, height);
84 brisk_scale_space.getKeypoints (threshold_, output_temp.
points);
88 output.width = output.size ();
90 output.is_dense =
false;
93 if (remove_invalid_3D_keypoints_)
96 for (std::size_t i = 0; i < output.size (); ++i)
100 bilinearInterpolation (input_, output[i].x, output[i].y, pt);
104 output_clean.push_back (output[i]);
106 output = output_clean;
107 output.is_dense =
true;
void copyPointCloud(const pcl::PointCloud< PointInT > &cloud_in, pcl::PointCloud< PointOutT > &cloud_out)
Copy all the fields from a given point cloud into a new point cloud.