38#include <pcl/recognition/hv/greedy_verification.h>
40template<
typename ModelT,
typename SceneT>
45 recognition_models_.clear ();
46 points_explained_by_rm_.clear ();
49 mask_.resize (visible_models_.size ());
50 for (std::size_t i = 0; i < visible_models_.size (); i++)
54 points_explained_by_rm_.resize (scene_cloud_downsampled_->size ());
57 for (std::size_t
m = 0;
m < visible_models_.size ();
m++)
59 RecognitionModelPtr
recog_model (
new RecognitionModel);
66 voxel_grid.setLeafSize (resolution_, resolution_, resolution_);
74 for (std::size_t i = 0; i <
recog_model->cloud_->size (); i++)
77 std::numeric_limits<int>::max ()))
79 outliers.push_back (
static_cast<int> (i));
109template<
typename ModelT,
typename SceneT>
118 for (std::size_t i = 0; i < recognition_models_.size (); i++)
120 if (
static_cast<float> (recognition_models_[i]->good_information_) > (regularizer_
121 *
static_cast<float> (recognition_models_[i]->bad_information_)))
124 updateGoodInformation (
static_cast<int> (i));
134 mask_[indices_models_[i].index_] =
true;
138 mask_[indices_models_[i].index_] =
false;
143#define PCL_INSTANTIATE_GreedyVerification(T1,T2) template class PCL_EXPORTS pcl::GreedyVerification<T1,T2>;
Iterator class for point clouds with or without given indices.
ConstCloudIterator(const PointCloud< PointT > &cloud)
std::size_t size() const
Size of the range the iterator is going through.
A greedy hypothesis verification method.
void verify() override
Starts verification.