2026-08-06 22:56:24 +00:00
<!-- HTML header for doxygen 1.9.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en-US" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" />
< meta http-equiv = "X-UA-Compatible" content = "IE=11" />
< meta name = "generator" content = "Doxygen 1.9.8" />
< meta name = "viewport" content = "width=device-width, initial-scale=1" />
< title > RTAB-Map: rtabmap::SURF_FREAK Class Reference</ title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "jquery.js" ></ script >
< script type = "text/javascript" src = "dynsections.js" ></ script >
< link href = "navtree.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "resize.js" ></ script >
< script type = "text/javascript" src = "navtreedata.js" ></ script >
< script type = "text/javascript" src = "navtree.js" ></ script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "search/searchdata.js" ></ script >
< script type = "text/javascript" src = "search/search.js" ></ script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" />
< link href = "doxygen-awesome.css" rel = "stylesheet" type = "text/css" />
< link href = "custom.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" > window . RTABMAP_DOC_ROOT = "" ;</ script >
< script type = "text/javascript" src = "../versions.js" ></ script >
< script type = "text/javascript" src = "version-switcher.js" ></ script >
< script type = "text/javascript" src = "doxygen-awesome-darkmode-toggle.js" ></ script >
< script type = "text/javascript" > DoxygenAwesomeDarkModeToggle . init ();</ script >
</ head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr id = "projectrow" >
< td id = "projectalign" >
2026-09-28 16:36:22 +00:00
< div id = "projectname" > RTAB-Map< span id = "projectnumber" >   0.23.13</ span >
2026-08-06 22:56:24 +00:00
</ div >
< div id = "projectbrief" > Real-Time Appearance-Based Mapping</ div >
</ td >
</ tr >
</ tbody >
</ table >
</ div >
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox ( "searchBox" , "search/" , '.html' );
/* @license-end */
</ script >
< script type = "text/javascript" src = "menudata.js" ></ script >
< script type = "text/javascript" src = "menu.js" ></ script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( function () {
initMenu ( '' , true , false , 'search.php' , 'Search' );
$ ( document ). ready ( function () { init_search (); });
});
/* @license-end */
</ script >
< div id = "main-nav" ></ div >
</ div > <!-- top -->
< div id = "side-nav" class = "ui-resizable side-nav-resizable" >
< div id = "nav-tree" >
< div id = "nav-tree-contents" >
< div id = "nav-sync" class = "sync" ></ div >
</ div >
</ div >
< div id = "splitbar" style = "-moz-user-select:none;"
class = "ui-resizable-handle" >
</ div >
</ div >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( document ). ready ( function (){ initNavTree ( 'classrtabmap_1_1SURF__FREAK.html' , '' ); initResizable (); });
/* @license-end */
</ script >
< div id = "doc-content" >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover = "return searchBox.OnSearchSelectShow()"
onmouseout = "return searchBox.OnSearchSelectHide()"
onkeydown = "return searchBox.OnSearchSelectKey(event)" >
</ div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< div id = "MSearchResults" >
< div class = "SRPage" >
< div id = "SRIndex" >
< div id = "SRResults" ></ div >
< div class = "SRStatus" id = "Loading" > Loading...</ div >
< div class = "SRStatus" id = "Searching" > Searching...</ div >
< div class = "SRStatus" id = "NoMatches" > No Matches</ div >
</ div >
</ div >
</ div >
</ div >
< div class = "header" >
< div class = "summary" >
< a href = "#pub-methods" > Public Member Functions</ a > |
< a href = "classrtabmap_1_1SURF__FREAK-members.html" > List of all members</ a > </ div >
< div class = "headertitle" >< div class = "title" > rtabmap::SURF_FREAK Class Reference</ div ></ div >
</ div > <!--header-->
< div class = "contents" >
< p >< a class = "el" href = "classrtabmap_1_1SURF.html" title = "SURF detector and descriptor (non-free / xfeatures2d depending on OpenCV build)." > SURF</ a > detector + FREAK descriptors.
< a href = "classrtabmap_1_1SURF__FREAK.html#details" > More...</ a ></ p >
< p >< code > #include < < a class = "el" href = "Features2d_8h_source.html" > Features2d.h</ a > > </ code ></ p >
< div class = "dynheader" >
Inheritance diagram for rtabmap::SURF_FREAK:</ div >
< div class = "dyncontent" >
< div class = "center" >< img src = "classrtabmap_1_1SURF__FREAK__inherit__graph.png" border = "0" usemap = "#artabmap_1_1SURF__FREAK_inherit__map" alt = "Inheritance graph" /></ div >
< map name = "artabmap_1_1SURF__FREAK_inherit__map" id = "artabmap_1_1SURF__FREAK_inherit__map" >
< area shape = "rect" title = "SURF detector + FREAK descriptors." alt = "" coords = "5,152,176,177" />
< area shape = "rect" href = "classrtabmap_1_1SURF.html" title = "SURF detector and descriptor (non-free / xfeatures2d depending on OpenCV build)." alt = "" coords = "31,79,151,104" />
< area shape = "poly" title = " " alt = "" coords = "93,118,93,152,88,152,88,118" />
< area shape = "rect" href = "classrtabmap_1_1Feature2D.html" title = "Abstract 2D feature detector and descriptor extractor for visual SLAM." alt = "" coords = "15,5,167,31" />
< area shape = "poly" title = " " alt = "" coords = "93,44,93,79,88,79,88,44" />
</ map >
< center >< span class = "legend" > [< a target = "top" href = "graph_legend.html" > legend</ a > ]</ span ></ center ></ div >
< div class = "dynheader" >
Collaboration diagram for rtabmap::SURF_FREAK:</ div >
< div class = "dyncontent" >
< div class = "center" >< img src = "classrtabmap_1_1SURF__FREAK__coll__graph.png" border = "0" usemap = "#artabmap_1_1SURF__FREAK_coll__map" alt = "Collaboration graph" /></ div >
< map name = "artabmap_1_1SURF__FREAK_coll__map" id = "artabmap_1_1SURF__FREAK_coll__map" >
< area shape = "rect" title = "SURF detector + FREAK descriptors." alt = "" coords = "5,152,176,177" />
< area shape = "rect" href = "classrtabmap_1_1SURF.html" title = "SURF detector and descriptor (non-free / xfeatures2d depending on OpenCV build)." alt = "" coords = "31,79,151,104" />
< area shape = "poly" title = " " alt = "" coords = "93,118,93,152,88,152,88,118" />
< area shape = "rect" href = "classrtabmap_1_1Feature2D.html" title = "Abstract 2D feature detector and descriptor extractor for visual SLAM." alt = "" coords = "15,5,167,31" />
< area shape = "poly" title = " " alt = "" coords = "93,44,93,79,88,79,88,44" />
</ map >
< center >< span class = "legend" > [< a target = "top" href = "graph_legend.html" > legend</ a > ]</ span ></ center ></ div >
< table class = "memberdecls" >
< tr class = "heading" >< td colspan = "2" >< h2 class = "groupheader" >< a id = "pub-methods" name = "pub-methods" ></ a >
Public Member Functions</ h2 ></ td ></ tr >
< tr class = "memitem:ad9cf0f1eb3f2a66a240a24ba05d12d19" id = "r_ad9cf0f1eb3f2a66a240a24ba05d12d19" >< td class = "memItemLeft" align = "right" valign = "top" >< a id = "ad9cf0f1eb3f2a66a240a24ba05d12d19" name = "ad9cf0f1eb3f2a66a240a24ba05d12d19" ></ a >
  </ td >< td class = "memItemRight" valign = "bottom" >< b > SURF_FREAK</ b > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "separator:ad9cf0f1eb3f2a66a240a24ba05d12d19" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a7f8c8923c1ee706d7cd2719c98b78830" id = "r_a7f8c8923c1ee706d7cd2719c98b78830" >< td class = "memItemLeft" align = "right" valign = "top" > virtual void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SURF__FREAK.html#a7f8c8923c1ee706d7cd2719c98b78830" > parseParameters</ a > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters) override</ td ></ tr >
< tr class = "separator:a7f8c8923c1ee706d7cd2719c98b78830" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ac9569bc749a7b6eb9b5aac088cc9e5d9" id = "r_ac9569bc749a7b6eb9b5aac088cc9e5d9" >< td class = "memItemLeft" align = "right" valign = "top" > virtual < a class = "el" href = "classrtabmap_1_1Feature2D.html#a7453189891e489bbcff1f2c971d04fde" > Feature2D::Type</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SURF__FREAK.html#ac9569bc749a7b6eb9b5aac088cc9e5d9" > getType</ a > () const override</ td ></ tr >
< tr class = "separator:ac9569bc749a7b6eb9b5aac088cc9e5d9" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pub_methods_classrtabmap_1_1SURF" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_methods_classrtabmap_1_1SURF')" >< img src = "closed.png" alt = "-" />   Public Member Functions inherited from < a class = "el" href = "classrtabmap_1_1SURF.html" > rtabmap::SURF</ a ></ td ></ tr >
< tr class = "memitem:a228cda20a6cc6a2c3142c7dfb562949c inherit pub_methods_classrtabmap_1_1SURF" id = "r_a228cda20a6cc6a2c3142c7dfb562949c" >< td class = "memItemLeft" align = "right" valign = "top" >
  </ td >< td class = "memItemRight" valign = "bottom" >< b > SURF</ b > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "separator:a228cda20a6cc6a2c3142c7dfb562949c inherit pub_methods_classrtabmap_1_1SURF" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a1150923dbf7e1bfd066dba0c3b22db57 inherit pub_methods_classrtabmap_1_1SURF" id = "r_a1150923dbf7e1bfd066dba0c3b22db57" >< td class = "memItemLeft" align = "right" valign = "top" > virtual bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1SURF.html#a1150923dbf7e1bfd066dba0c3b22db57" > isGpuAvailable</ a > () const override</ td ></ tr >
< tr class = "memdesc:a1150923dbf7e1bfd066dba0c3b22db57 inherit pub_methods_classrtabmap_1_1SURF" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Returns true when a GPU/CUDA code path < b > could</ b > be used by this detector on this host: i.e. the build was compiled with the matching GPU support AND a CUDA-capable device is detected at runtime. This is a capability probe – it does NOT reflect whether the current instance is actually configured to run on GPU (that depends on per-detector parameters like SURF/GpuVersion). Defaults to false; subclasses with a GPU backend override it. < br /></ td ></ tr >
< tr class = "separator:a1150923dbf7e1bfd066dba0c3b22db57 inherit pub_methods_classrtabmap_1_1SURF" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pub_methods_classrtabmap_1_1Feature2D" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_methods_classrtabmap_1_1Feature2D')" >< img src = "closed.png" alt = "-" />   Public Member Functions inherited from < a class = "el" href = "classrtabmap_1_1Feature2D.html" > rtabmap::Feature2D</ a ></ td ></ tr >
< tr class = "memitem:aefcc5503f62c875b061a11171c82ebf6 inherit pub_methods_classrtabmap_1_1Feature2D" id = "r_aefcc5503f62c875b061a11171c82ebf6" >< td class = "memItemLeft" align = "right" valign = "top" > int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Feature2D.html#aefcc5503f62c875b061a11171c82ebf6" > getMaxFeatures</ a > () const</ td ></ tr >
< tr class = "separator:aefcc5503f62c875b061a11171c82ebf6 inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ae6fff7ef38ac404f371daca34960d365 inherit pub_methods_classrtabmap_1_1Feature2D" id = "r_ae6fff7ef38ac404f371daca34960d365" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Feature2D.html#ae6fff7ef38ac404f371daca34960d365" > getSSC</ a > () const</ td ></ tr >
< tr class = "separator:ae6fff7ef38ac404f371daca34960d365 inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:abae817ba195bace21531febe0ee8e76e inherit pub_methods_classrtabmap_1_1Feature2D" id = "r_abae817ba195bace21531febe0ee8e76e" >< td class = "memItemLeft" align = "right" valign = "top" > float  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Feature2D.html#abae817ba195bace21531febe0ee8e76e" > getMinDepth</ a > () const</ td ></ tr >
< tr class = "separator:abae817ba195bace21531febe0ee8e76e inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a1f8cee3995f02d65fe093a2e5ede7db7 inherit pub_methods_classrtabmap_1_1Feature2D" id = "r_a1f8cee3995f02d65fe093a2e5ede7db7" >< td class = "memItemLeft" align = "right" valign = "top" > float  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Feature2D.html#a1f8cee3995f02d65fe093a2e5ede7db7" > getMaxDepth</ a > () const</ td ></ tr >
< tr class = "separator:a1f8cee3995f02d65fe093a2e5ede7db7 inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ac8a91e9df9c43e0f87f3a02f6a21db34 inherit pub_methods_classrtabmap_1_1Feature2D" id = "r_ac8a91e9df9c43e0f87f3a02f6a21db34" >< td class = "memItemLeft" align = "right" valign = "top" > int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Feature2D.html#ac8a91e9df9c43e0f87f3a02f6a21db34" > getGridRows</ a > () const</ td ></ tr >
< tr class = "separator:ac8a91e9df9c43e0f87f3a02f6a21db34 inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a04c6e4b63641d379aa227a06bd9e1084 inherit pub_methods_classrtabmap_1_1Feature2D" id = "r_a04c6e4b63641d379aa227a06bd9e1084" >< td class = "memItemLeft" align = "right" valign = "top" > int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Feature2D.html#a04c6e4b63641d379aa227a06bd9e1084" > getGridCols</ a > () const</ td ></ tr >
< tr class = "separator:a04c6e4b63641d379aa227a06bd9e1084 inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a78d70d2150b42203ffd1c94d79661248 inherit pub_methods_classrtabmap_1_1Feature2D" id = "r_a78d70d2150b42203ffd1c94d79661248" >< td class = "memItemLeft" align = "right" valign = "top" >
std::vector< cv::KeyPoint >  </ td >< td class = "memItemRight" valign = "bottom" >< b > generateKeypoints</ b > (const cv::Mat & image, const cv::Mat & mask=cv::Mat())</ td ></ tr >
< tr class = "memdesc:a78d70d2150b42203ffd1c94d79661248 inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Detects keypoints in a grayscale < code > image</ code > (CV_8UC1); optional depth or 8U mask. < br /></ td ></ tr >
< tr class = "separator:a78d70d2150b42203ffd1c94d79661248 inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:abaca942668ac3d2f16d3e78797ff0fb9 inherit pub_methods_classrtabmap_1_1Feature2D" id = "r_abaca942668ac3d2f16d3e78797ff0fb9" >< td class = "memItemLeft" align = "right" valign = "top" >
cv::Mat  </ td >< td class = "memItemRight" valign = "bottom" >< b > generateDescriptors</ b > (const cv::Mat & image, std::vector< cv::KeyPoint > & keypoints) const</ td ></ tr >
< tr class = "memdesc:abaca942668ac3d2f16d3e78797ff0fb9 inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Computes descriptors for < code > keypoints</ code > (may shrink the list in some detectors). < br /></ td ></ tr >
< tr class = "separator:abaca942668ac3d2f16d3e78797ff0fb9 inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ae01a548fe993a7aa309cce96645693ce inherit pub_methods_classrtabmap_1_1Feature2D" id = "r_ae01a548fe993a7aa309cce96645693ce" >< td class = "memItemLeft" align = "right" valign = "top" >
std::vector< cv::Point3f >  </ td >< td class = "memItemRight" valign = "bottom" >< b > generateKeypoints3D</ b > (const < a class = "el" href = "classrtabmap_1_1SensorData.html" > SensorData</ a > & data, const std::vector< cv::KeyPoint > & keypoints) const</ td ></ tr >
< tr class = "memdesc:ae01a548fe993a7aa309cce96645693ce inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Back-projects keypoints to 3D using depth or stereo in < code > data</ code > . < br /></ td ></ tr >
< tr class = "separator:ae01a548fe993a7aa309cce96645693ce inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a9c52665128219cb0e923febe2b25c852 inherit pub_methods_classrtabmap_1_1Feature2D" id = "r_a9c52665128219cb0e923febe2b25c852" >< td class = "memItemLeft" align = "right" valign = "top" > virtual const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Feature2D.html#a9c52665128219cb0e923febe2b25c852" > getParameters</ a > () const</ td ></ tr >
< tr class = "separator:a9c52665128219cb0e923febe2b25c852 inherit pub_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
</ table >< table class = "memberdecls" >
< tr class = "heading" >< td colspan = "2" >< h2 class = "groupheader" >< a id = "inherited" name = "inherited" ></ a >
Additional Inherited Members</ h2 ></ td ></ tr >
< tr class = "inherit_header pub_types_classrtabmap_1_1Feature2D" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_types_classrtabmap_1_1Feature2D')" >< img src = "closed.png" alt = "-" />   Public Types inherited from < a class = "el" href = "classrtabmap_1_1Feature2D.html" > rtabmap::Feature2D</ a ></ td ></ tr >
< tr class = "memitem:a7453189891e489bbcff1f2c971d04fde inherit pub_types_classrtabmap_1_1Feature2D" id = "r_a7453189891e489bbcff1f2c971d04fde" >< td class = "memItemLeft" align = "right" valign = "top" > enum   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Feature2D.html#a7453189891e489bbcff1f2c971d04fde" > Type</ a > { < br />
   < b > kFeatureUndef</ b > =-1
, < b > kFeatureSurf</ b > =0
, < b > kFeatureSift</ b > =1
, < b > kFeatureOrb</ b > =2
, < br />
   < b > kFeatureFastFreak</ b > =3
, < b > kFeatureFastBrief</ b > =4
, < b > kFeatureGfttFreak</ b > =5
, < b > kFeatureGfttBrief</ b > =6
, < br />
   < b > kFeatureBrisk</ b > =7
, < b > kFeatureGfttOrb</ b > =8
, < b > kFeatureKaze</ b > =9
, < b > kFeatureOrbOctree</ b > =10
, < br />
   < b > kFeatureSuperPointTorch</ b > =11
, < b > kFeatureSurfFreak</ b > =12
, < b > kFeatureGfttDaisy</ b > =13
, < b > kFeatureSurfDaisy</ b > =14
, < br />
   < b > kFeaturePyDetector</ b > =15
, < b > kFeatureSuperPointRpautrat</ b > =16
, < b > kFeatureEnd</ b >
< br />
}</ td ></ tr >
< tr class = "memdesc:a7453189891e489bbcff1f2c971d04fde" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Built-in detector/descriptor strategy (Kp/DetectorStrategy). < a href = "classrtabmap_1_1Feature2D.html#a7453189891e489bbcff1f2c971d04fde" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:a7453189891e489bbcff1f2c971d04fde inherit pub_types_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pub_static_methods_classrtabmap_1_1Feature2D" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_static_methods_classrtabmap_1_1Feature2D')" >< img src = "closed.png" alt = "-" />   Static Public Member Functions inherited from < a class = "el" href = "classrtabmap_1_1Feature2D.html" > rtabmap::Feature2D</ a ></ td ></ tr >
< tr class = "memitem:a98050ef4da598e5b35bc32317bc58b84 inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_a98050ef4da598e5b35bc32317bc58b84" >< td class = "memItemLeft" align = "right" valign = "top" > static std::string  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Feature2D.html#a98050ef4da598e5b35bc32317bc58b84" > typeName</ a > (< a class = "el" href = "classrtabmap_1_1Feature2D.html#a7453189891e489bbcff1f2c971d04fde" > Type</ a > type)</ td ></ tr >
< tr class = "separator:a98050ef4da598e5b35bc32317bc58b84 inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a58ac3dff96e882f0e4bbbf8a8ffc435d inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_a58ac3dff96e882f0e4bbbf8a8ffc435d" >< td class = "memItemLeft" align = "right" valign = "top" >
static < a class = "el" href = "classrtabmap_1_1Feature2D.html" > Feature2D</ a > *  </ td >< td class = "memItemRight" valign = "bottom" >< b > create</ b > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:a58ac3dff96e882f0e4bbbf8a8ffc435d inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Creates a detector from < b > Kp/DetectorStrategy</ b > in < code > parameters</ code > . Caller owns the pointer. < br /></ td ></ tr >
< tr class = "separator:a58ac3dff96e882f0e4bbbf8a8ffc435d inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ab9deec7c0e26722736aeeaeb5541ac3a inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_ab9deec7c0e26722736aeeaeb5541ac3a" >< td class = "memItemLeft" align = "right" valign = "top" >
static < a class = "el" href = "classrtabmap_1_1Feature2D.html" > Feature2D</ a > *  </ td >< td class = "memItemRight" valign = "bottom" >< b > create</ b > (< a class = "el" href = "classrtabmap_1_1Feature2D.html#a7453189891e489bbcff1f2c971d04fde" > Feature2D::Type</ a > type, const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:ab9deec7c0e26722736aeeaeb5541ac3a inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Creates a detector of the given < code > type</ code > . Caller owns the pointer. < br /></ td ></ tr >
< tr class = "separator:ab9deec7c0e26722736aeeaeb5541ac3a inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a6020550480c25d36f0b4255629e75ee2 inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_a6020550480c25d36f0b4255629e75ee2" >< td class = "memItemLeft" align = "right" valign = "top" >
static bool  </ td >< td class = "memItemRight" valign = "bottom" >< b > isAvailable</ b > (< a class = "el" href = "classrtabmap_1_1Feature2D.html#a7453189891e489bbcff1f2c971d04fde" > Feature2D::Type</ a > type)</ td ></ tr >
< tr class = "memdesc:a6020550480c25d36f0b4255629e75ee2 inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Returns true if < code > type</ code > is available (RTAB-Map is built with it). < br /></ td ></ tr >
< tr class = "separator:a6020550480c25d36f0b4255629e75ee2 inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aadbb5a7611eb94ea6925115999bc0f4e inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_aadbb5a7611eb94ea6925115999bc0f4e" >< td class = "memItemLeft" align = "right" valign = "top" >
static void  </ td >< td class = "memItemRight" valign = "bottom" >< b > filterKeypointsByDepth</ b > (std::vector< cv::KeyPoint > & keypoints, const cv::Mat & depth, float minDepth, float maxDepth)</ td ></ tr >
< tr class = "memdesc:aadbb5a7611eb94ea6925115999bc0f4e inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Keeps keypoints whose depth at (u,v) is in (< code > minDepth</ code > , < code > maxDepth</ code > ). < br /></ td ></ tr >
< tr class = "separator:aadbb5a7611eb94ea6925115999bc0f4e inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a52e47fa8c16e76b07bb1b5b5f62ef544 inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_a52e47fa8c16e76b07bb1b5b5f62ef544" >< td class = "memItemLeft" align = "right" valign = "top" >
static void  </ td >< td class = "memItemRight" valign = "bottom" >< b > filterKeypointsByDepth</ b > (std::vector< cv::KeyPoint > & keypoints, cv::Mat & descriptors, const cv::Mat & depth, float minDepth, float maxDepth)</ td ></ tr >
< tr class = "separator:a52e47fa8c16e76b07bb1b5b5f62ef544 inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:af6a47b5afb6c5f7232dde3f209467498 inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_af6a47b5afb6c5f7232dde3f209467498" >< td class = "memItemLeft" align = "right" valign = "top" >
static void  </ td >< td class = "memItemRight" valign = "bottom" >< b > filterKeypointsByDepth</ b > (std::vector< cv::KeyPoint > & keypoints, cv::Mat & descriptors, std::vector< cv::Point3f > & keypoints3D, float minDepth, float maxDepth)</ td ></ tr >
< tr class = "separator:af6a47b5afb6c5f7232dde3f209467498 inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a32fa09026282be6a729483bfe57d31ec inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_a32fa09026282be6a729483bfe57d31ec" >< td class = "memItemLeft" align = "right" valign = "top" >
static void  </ td >< td class = "memItemRight" valign = "bottom" >< b > filterKeypointsByDisparity</ b > (std::vector< cv::KeyPoint > & keypoints, const cv::Mat & disparity, float minDisparity)</ td ></ tr >
< tr class = "memdesc:a32fa09026282be6a729483bfe57d31ec inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Keeps keypoints with stereo disparity ≥ < code > minDisparity</ code > . < br /></ td ></ tr >
< tr class = "separator:a32fa09026282be6a729483bfe57d31ec inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:afc2ca7b0b852514c24af8667faee8163 inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_afc2ca7b0b852514c24af8667faee8163" >< td class = "memItemLeft" align = "right" valign = "top" >
static void  </ td >< td class = "memItemRight" valign = "bottom" >< b > filterKeypointsByDisparity</ b > (std::vector< cv::KeyPoint > & keypoints, cv::Mat & descriptors, const cv::Mat & disparity, float minDisparity)</ td ></ tr >
< tr class = "separator:afc2ca7b0b852514c24af8667faee8163 inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aa5c0258ede589769bc50c6d6071d595c inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_aa5c0258ede589769bc50c6d6071d595c" >< td class = "memItemLeft" align = "right" valign = "top" >
static void  </ td >< td class = "memItemRight" valign = "bottom" >< b > limitKeypoints</ b > (std::vector< cv::KeyPoint > & keypoints, int maxKeypoints, const cv::Size & imageSize=cv::Size(), bool ssc=false)</ td ></ tr >
< tr class = "memdesc:aa5c0258ede589769bc50c6d6071d595c inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Reduces keypoint count (by response or SSC spatial distribution). < br /></ td ></ tr >
< tr class = "separator:aa5c0258ede589769bc50c6d6071d595c inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aba0cc0c4da22671572421b9f3f2d43a4 inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_aba0cc0c4da22671572421b9f3f2d43a4" >< td class = "memItemLeft" align = "right" valign = "top" >
static void  </ td >< td class = "memItemRight" valign = "bottom" >< b > limitKeypoints</ b > (std::vector< cv::KeyPoint > & keypoints, cv::Mat & descriptors, int maxKeypoints, const cv::Size & imageSize=cv::Size(), bool ssc=false)</ td ></ tr >
< tr class = "separator:aba0cc0c4da22671572421b9f3f2d43a4 inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a87afad19a8c82d27ba2996d7f9fde198 inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_a87afad19a8c82d27ba2996d7f9fde198" >< td class = "memItemLeft" align = "right" valign = "top" >
static void  </ td >< td class = "memItemRight" valign = "bottom" >< b > limitKeypoints</ b > (std::vector< cv::KeyPoint > & keypoints, std::vector< cv::Point3f > & keypoints3D, cv::Mat & descriptors, int maxKeypoints, const cv::Size & imageSize=cv::Size(), bool ssc=false)</ td ></ tr >
< tr class = "separator:a87afad19a8c82d27ba2996d7f9fde198 inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ad53a028d97f969424afea055405782be inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_ad53a028d97f969424afea055405782be" >< td class = "memItemLeft" align = "right" valign = "top" >
static void  </ td >< td class = "memItemRight" valign = "bottom" >< b > limitKeypoints</ b > (const std::vector< cv::KeyPoint > & keypoints, std::vector< bool > & inliers, int maxKeypoints, const cv::Size & imageSize=cv::Size(), bool ssc=false)</ td ></ tr >
< tr class = "separator:ad53a028d97f969424afea055405782be inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a3960ad23c8ccd412590311c5fe27b6e1 inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_a3960ad23c8ccd412590311c5fe27b6e1" >< td class = "memItemLeft" align = "right" valign = "top" >
static void  </ td >< td class = "memItemRight" valign = "bottom" >< b > limitKeypoints</ b > (const std::vector< cv::KeyPoint > & keypoints, std::vector< bool > & inliers, int maxKeypoints, const cv::Size & imageSize, int gridRows, int gridCols, bool ssc=false)</ td ></ tr >
< tr class = "separator:a3960ad23c8ccd412590311c5fe27b6e1 inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a8bdfa57df68506fecb6342b9f5bc98e8 inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_a8bdfa57df68506fecb6342b9f5bc98e8" >< td class = "memItemLeft" align = "right" valign = "top" >
static cv::Rect  </ td >< td class = "memItemRight" valign = "bottom" >< b > computeRoi</ b > (const cv::Mat & image, const std::string & roiRatios)</ td ></ tr >
< tr class = "memdesc:a8bdfa57df68506fecb6342b9f5bc98e8 inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > ROI from < b > Kp/RoiRatios</ b > string (< code > "left top right bottom"</ code > fractions). < br /></ td ></ tr >
< tr class = "separator:a8bdfa57df68506fecb6342b9f5bc98e8 inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a50e780ed12538f575f340d8347274bea inherit pub_static_methods_classrtabmap_1_1Feature2D" id = "r_a50e780ed12538f575f340d8347274bea" >< td class = "memItemLeft" align = "right" valign = "top" >
static cv::Rect  </ td >< td class = "memItemRight" valign = "bottom" >< b > computeRoi</ b > (const cv::Mat & image, const std::vector< float > & roiRatios)</ td ></ tr >
< tr class = "separator:a50e780ed12538f575f340d8347274bea inherit pub_static_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pro_methods_classrtabmap_1_1Feature2D" >< td colspan = "2" onclick = "javascript:toggleInherit('pro_methods_classrtabmap_1_1Feature2D')" >< img src = "closed.png" alt = "-" />   Protected Member Functions inherited from < a class = "el" href = "classrtabmap_1_1Feature2D.html" > rtabmap::Feature2D</ a ></ td ></ tr >
< tr class = "memitem:a698973e11d04dcd87ed15f61c328facd inherit pro_methods_classrtabmap_1_1Feature2D" id = "r_a698973e11d04dcd87ed15f61c328facd" >< td class = "memItemLeft" align = "right" valign = "top" >
  </ td >< td class = "memItemRight" valign = "bottom" >< b > Feature2D</ b > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "separator:a698973e11d04dcd87ed15f61c328facd inherit pro_methods_classrtabmap_1_1Feature2D" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
</ table >
< a name = "details" id = "details" ></ a >< h2 class = "groupheader" > Detailed Description</ h2 >
< div class = "textblock" >< p >< a class = "el" href = "classrtabmap_1_1SURF.html" title = "SURF detector and descriptor (non-free / xfeatures2d depending on OpenCV build)." > SURF</ a > detector + FREAK descriptors. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Features2d_8h_source.html#l00559" > 559</ a > of file < a class = "el" href = "Features2d_8h_source.html" > Features2d.h</ a > .</ p >
</ div >< h2 class = "groupheader" > Member Function Documentation</ h2 >
< a id = "a7f8c8923c1ee706d7cd2719c98b78830" name = "a7f8c8923c1ee706d7cd2719c98b78830" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a7f8c8923c1ee706d7cd2719c98b78830" > ◆  </ a ></ span > parseParameters()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > virtual void rtabmap::SURF_FREAK::parseParameters </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >
< td class = "paramname" >< em > parameters</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > override</ span >< span class = "mlabel" > virtual</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Reimplemented from < a class = "el" href = "classrtabmap_1_1SURF.html" > rtabmap::SURF</ a > .</ p >
</ div >
</ div >
< a id = "ac9569bc749a7b6eb9b5aac088cc9e5d9" name = "ac9569bc749a7b6eb9b5aac088cc9e5d9" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ac9569bc749a7b6eb9b5aac088cc9e5d9" > ◆  </ a ></ span > getType()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > virtual < a class = "el" href = "classrtabmap_1_1Feature2D.html#a7453189891e489bbcff1f2c971d04fde" > Feature2D::Type</ a > rtabmap::SURF_FREAK::getType </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span >< span class = "mlabel" > override</ span >< span class = "mlabel" > virtual</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Reimplemented from < a class = "el" href = "classrtabmap_1_1SURF.html" > rtabmap::SURF</ a > .</ p >
< p class = "definition" > Definition at line < a class = "el" href = "Features2d_8h_source.html#l00566" > 566</ a > of file < a class = "el" href = "Features2d_8h_source.html" > Features2d.h</ a > .</ p >
</ div >
</ div >
< hr /> The documentation for this class was generated from the following file:< ul >
< li > corelib/include/rtabmap/core/< a class = "el" href = "Features2d_8h_source.html" > Features2d.h</ a ></ li >
</ ul >
</ div > <!-- contents -->
</ div > <!-- doc-content -->
<!-- start footer part -->
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul >
< li class = "navelem" >< a class = "el" href = "namespacertabmap.html" > rtabmap</ a ></ li >< li class = "navelem" >< a class = "el" href = "classrtabmap_1_1SURF__FREAK.html" > SURF_FREAK</ a ></ li >
< li class = "footer" > Generated by < a href = "https://www.doxygen.org/index.html" >< img class = "footer" src = "doxygen.svg" width = "104" height = "31" alt = "doxygen" /></ a > 1.9.8 </ li >
</ ul >
</ div >
</ body >
</ html >