Orb.h
Go to the documentation of this file.
00001 
00004 /*M///////////////////////////////////////////////////////////////////////////////////////
00005 //
00006 //  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
00007 //
00008 //  By downloading, copying, installing or using the software you agree to this license.
00009 //  If you do not agree to this license, do not download, install,
00010 //  copy or use the software.
00011 //
00012 //
00013 //                           License Agreement
00014 //                For Open Source Computer Vision Library
00015 //
00016 // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
00017 // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
00018 // Third party copyrights are property of their respective owners.
00019 //
00020 // Redistribution and use in source and binary forms, with or without modification,
00021 // are permitted provided that the following conditions are met:
00022 //
00023 //   * Redistribution's of source code must retain the above copyright notice,
00024 //     this list of conditions and the following disclaimer.
00025 //
00026 //   * Redistribution's in binary form must reproduce the above copyright notice,
00027 //     this list of conditions and the following disclaimer in the documentation
00028 //     and/or other materials provided with the distribution.
00029 //
00030 //   * The name of the copyright holders may not be used to endorse or promote products
00031 //     derived from this software without specific prior written permission.
00032 //
00033 // This software is provided by the copyright holders and contributors "as is" and
00034 // any express or implied warranties, including, but not limited to, the implied
00035 // warranties of merchantability and fitness for a particular purpose are disclaimed.
00036 // In no event shall the Intel Corporation or contributors be liable for any direct,
00037 // indirect, incidental, special, exemplary, or consequential damages
00038 // (including, but not limited to, procurement of substitute goods or services;
00039 // loss of use, data, or profits; or business interruption) however caused
00040 // and on any theory of liability, whether in contract, strict liability,
00041 // or tort (including negligence or otherwise) arising in any way out of
00042 // the use of this software, even if advised of the possibility of such damage.
00043 //
00044 //M*/
00045 
00046 #ifndef CORELIB_SRC_OPENCV_ORB_H_
00047 #define CORELIB_SRC_OPENCV_ORB_H_
00048 
00049 #include <opencv2/features2d/features2d.hpp>
00050 
00051 namespace rtabmap {
00052 
00053 class FAST;
00054 
00058 class CV_ORB : public cv::Feature2D
00059 {
00060 public:
00061     // the size of the signature in bytes
00062     enum { kBytes = 32, HARRIS_SCORE=0, FAST_SCORE=1 };
00063 
00064     CV_WRAP explicit CV_ORB(int nfeatures = 500, float scaleFactor = 1.2f, int nlevels = 8, int edgeThreshold = 31,
00065         int firstLevel = 0, int WTA_K=2, int scoreType=CV_ORB::HARRIS_SCORE, int patchSize=31, const ParametersMap & fastParameters=ParametersMap());
00066 
00067     // returns the descriptor size in bytes
00068     int descriptorSize() const;
00069     // returns the descriptor type
00070     int descriptorType() const;
00071 
00072     // Compute the ORB features and descriptors on an image
00073     void operator()(cv::InputArray image, cv::InputArray mask, std::vector<cv::KeyPoint>& keypoints) const;
00074 
00075     // Compute the ORB features and descriptors on an image
00076     void operator()( cv::InputArray image, cv::InputArray mask, std::vector<cv::KeyPoint>& keypoints,
00077                 cv::OutputArray descriptors, bool useProvidedKeypoints=false ) const;
00078 
00079 protected:
00080 
00081     void computeImpl( const cv::Mat& image, std::vector<cv::KeyPoint>& keypoints, cv::Mat& descriptors ) const;
00082     void detectImpl( const cv::Mat& image, std::vector<cv::KeyPoint>& keypoints, const cv::Mat& mask=cv::Mat() ) const;
00083 
00084     CV_PROP_RW int nfeatures;
00085     CV_PROP_RW double scaleFactor;
00086     CV_PROP_RW int nlevels;
00087     CV_PROP_RW int edgeThreshold;
00088     CV_PROP_RW int firstLevel;
00089     CV_PROP_RW int WTA_K;
00090     CV_PROP_RW int scoreType;
00091     CV_PROP_RW int patchSize;
00092 
00093     ParametersMap fastParameters;
00094 };
00095 
00096 }
00097 
00098 
00099 #endif /* CORELIB_SRC_OPENCV_ORB_H_ */


rtabmap
Author(s): Mathieu Labbe
autogenerated on Sat Jul 23 2016 11:44:17