36 #ifndef PCL_SIFT_KEYPOINT_H_ 37 #define PCL_SIFT_KEYPOINT_H_ 39 #include <pcl/keypoints/keypoint.h> 43 template<
typename Po
intT>
67 return (static_cast<float> (299*p.r + 587*p.g + 114*p.b) / 1000.0f);
76 return (static_cast<float> (299*p.r + 587*p.g + 114*p.b) / 1000.0f);
93 template <
typename Po
intInT,
typename Po
intOutT>
97 typedef boost::shared_ptr<SIFTKeypoint<PointInT, PointOutT> >
Ptr;
98 typedef boost::shared_ptr<const SIFTKeypoint<PointInT, PointOutT> >
ConstPtr;
112 SIFTKeypoint () : min_scale_ (0.0), nr_octaves_ (0), nr_scales_per_octave_ (0),
113 min_contrast_ (-
std::numeric_limits<float>::max ()), scale_idx_ (-1),
114 out_fields_ (), getFieldValue_ ()
116 name_ =
"SIFTKeypoint";
125 setScales (
float min_scale,
int nr_octaves,
int nr_scales_per_octave);
131 setMinimumContrast (
float min_contrast);
142 detectKeypoints (PointCloudOut &output);
153 detectKeypointsForOctave (
const PointCloudIn &input, KdTree &tree,
154 float base_scale,
int nr_scales_per_octave,
155 PointCloudOut &output);
164 computeScaleSpace (
const PointCloudIn &input, KdTree &tree,
165 const std::vector<float> &scales,
166 Eigen::MatrixXf &diff_of_gauss);
176 findScaleSpaceExtrema (
const PointCloudIn &input, KdTree &tree,
177 const Eigen::MatrixXf &diff_of_gauss,
178 std::vector<int> &extrema_indices, std::vector<int> &extrema_scales);
188 int nr_scales_per_octave_;
198 std::vector<pcl::PCLPointField> out_fields_;
204 #include <pcl/keypoints/impl/sift_keypoint.hpp> 206 #endif // #ifndef PCL_SIFT_KEYPOINT_H_ SIFTKeypoint detects the Scale Invariant Feature Transform keypoints for a given point cloud dataset ...
This file defines compatibility wrappers for low level I/O functions.
Keypoint< PointInT, PointOutT >::PointCloudOut PointCloudOut
boost::shared_ptr< SIFTKeypoint< PointInT, PointOutT > > Ptr
A point structure representing Euclidean xyz coordinates, and the RGBA color.
Keypoint represents the base class for key points.
SIFTKeypoint()
Empty constructor.
Keypoint< PointInT, PointOutT >::KdTree KdTree
boost::shared_ptr< const SIFTKeypoint< PointInT, PointOutT > > ConstPtr
A point structure representing Euclidean xyz coordinates, together with normal coordinates and the su...
A point structure representing Euclidean xyz coordinates, and the RGB color.
Keypoint< PointInT, PointOutT >::PointCloudIn PointCloudIn
float operator()(const PointT &p) const