void pcl::visualization::RangeImageVisualizer::visualizeBorders ( const pcl::RangeImage& range_image, float min_value, float max_value, bool grayscale, const pcl::PointCloud<pcl::BorderDescription>& border_descriptions) { setRangeImage(range_image, min_value, max_value, grayscale); for (int y=0; y<(int)range_image.height; ++y) { for (int x=0; x<(int)range_image.width; ++x) { const pcl::BorderDescription& border_description = border_descriptions.points[y*range_image.width + x]; const pcl::BorderTraits& border_traits = border_description.traits; if (border_traits[pcl::BORDER_TRAIT__OBSTACLE_BORDER]) { markPoint (x, y, wxGREEN_PEN); //for (unsigned int i = 0; i < border_description.neighbors.size(); ++i) //range_image_widget->markLine (border_description.x, border_description.y, //border_description.neighbors[i]->x, border_description.neighbors[i]->y, wxGREEN_PEN); } else if (border_traits[pcl::BORDER_TRAIT__SHADOW_BORDER]) markPoint(x, y, wxCYAN_PEN); else if (border_traits[pcl::BORDER_TRAIT__VEIL_POINT]) markPoint(x, y, wxRED_PEN); } } }
NarfDescriptor::NarfDescriptor (const RangeImage* range_image, const std::vector<int>* indices) : BaseClass (), range_image_ (), parameters_ () { setRangeImage (range_image, indices); }