ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

Sift can be implemented using opencv2 library. Convert your image from a ROS type image to a opencv type image using cv_bridge and then you can use the opencv libraries to implement SIFT. Remember to also include #include <opencv2/nonfree/features2d.hpp>. Sift features can be initialized using cv::Ptr<cv::FeatureDetector> detect = new cv::SiftFeatureDetector; and Sift descriptors : cv::Ptr<cv::DescriptorExtractor> detect = new cv::SurfDescriptorExtractor; You could replace the word Sift with Surf or Orb for the feature detector. And you could also replace the descriptor with Surf or Brief.