2026-08-02 01:36:11 +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::StereoOpticalFlow 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 >
2026-08-02 07:56:38 +00:00
< 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 >
2026-08-02 01:36:11 +00:00
< 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" />
< 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 >
</ 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" >
< div id = "projectname" > RTAB-Map< span id = "projectnumber" >   0.23.10</ span >
</ div >
2026-08-02 07:56:38 +00:00
< div id = "projectbrief" > Real-Time Appearance-Based Mapping</ div >
2026-08-02 01:36:11 +00:00
</ 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 >
2026-08-02 07:56:38 +00:00
</ 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_1StereoOpticalFlow.html' , '' ); initResizable (); });
/* @license-end */
</ script >
< div id = "doc-content" >
2026-08-02 01:36:11 +00:00
<!-- 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_1StereoOpticalFlow-members.html" > List of all members</ a > </ div >
< div class = "headertitle" >< div class = "title" > rtabmap::StereoOpticalFlow Class Reference</ div ></ div >
</ div > <!--header-->
< div class = "contents" >
< p > Sparse stereo matching using optical flow.
< a href = "classrtabmap_1_1StereoOpticalFlow.html#details" > More...</ a ></ p >
< p >< code > #include < < a class = "el" href = "Stereo_8h_source.html" > Stereo.h</ a > > </ code ></ p >
< div class = "dynheader" >
Inheritance diagram for rtabmap::StereoOpticalFlow:</ div >
< div class = "dyncontent" >
< div class = "center" >< img src = "classrtabmap_1_1StereoOpticalFlow__inherit__graph.png" border = "0" usemap = "#artabmap_1_1StereoOpticalFlow_inherit__map" alt = "Inheritance graph" /></ div >
< map name = "artabmap_1_1StereoOpticalFlow_inherit__map" id = "artabmap_1_1StereoOpticalFlow_inherit__map" >
< area shape = "rect" title = "Sparse stereo matching using optical flow." alt = "" coords = "5,79,209,104" />
< area shape = "rect" href = "classrtabmap_1_1Stereo.html" title = "Sparse stereo matching using block matching." alt = "" coords = "44,5,171,31" />
< area shape = "poly" title = " " alt = "" coords = "110,44,110,79,105,79,105,44" />
</ map >
2026-08-02 07:56:38 +00:00
< center >< span class = "legend" > [< a target = "top" href = "graph_legend.html" > legend</ a > ]</ span ></ center ></ div >
2026-08-02 01:36:11 +00:00
< div class = "dynheader" >
Collaboration diagram for rtabmap::StereoOpticalFlow:</ div >
< div class = "dyncontent" >
< div class = "center" >< img src = "classrtabmap_1_1StereoOpticalFlow__coll__graph.png" border = "0" usemap = "#artabmap_1_1StereoOpticalFlow_coll__map" alt = "Collaboration graph" /></ div >
< map name = "artabmap_1_1StereoOpticalFlow_coll__map" id = "artabmap_1_1StereoOpticalFlow_coll__map" >
< area shape = "rect" title = "Sparse stereo matching using optical flow." alt = "" coords = "5,79,209,104" />
< area shape = "rect" href = "classrtabmap_1_1Stereo.html" title = "Sparse stereo matching using block matching." alt = "" coords = "44,5,171,31" />
< area shape = "poly" title = " " alt = "" coords = "110,44,110,79,105,79,105,44" />
</ map >
2026-08-02 07:56:38 +00:00
< center >< span class = "legend" > [< a target = "top" href = "graph_legend.html" > legend</ a > ]</ span ></ center ></ div >
2026-08-02 01:36:11 +00:00
< 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 >
2026-08-02 07:56:38 +00:00
< tr class = "memitem:a85173879ab911862112710fa1c94d8c5" id = "r_a85173879ab911862112710fa1c94d8c5" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1StereoOpticalFlow.html#a85173879ab911862112710fa1c94d8c5" > StereoOpticalFlow</ a > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
2026-08-02 01:36:11 +00:00
< tr class = "memdesc:a85173879ab911862112710fa1c94d8c5" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Constructor. < br /></ td ></ tr >
< tr class = "separator:a85173879ab911862112710fa1c94d8c5" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:afa38ce6868f4bf0388559f81ff917a97" id = "r_afa38ce6868f4bf0388559f81ff917a97" >< td class = "memItemLeft" align = "right" valign = "top" > virtual  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1StereoOpticalFlow.html#afa38ce6868f4bf0388559f81ff917a97" > ~StereoOpticalFlow</ a > ()</ td ></ tr >
< tr class = "memdesc:afa38ce6868f4bf0388559f81ff917a97" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Virtual destructor. < br /></ td ></ tr >
< tr class = "separator:afa38ce6868f4bf0388559f81ff917a97" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
2026-08-02 07:56:38 +00:00
< tr class = "memitem:aac2df770eba89ed2607c024c91d82c78" id = "r_aac2df770eba89ed2607c024c91d82c78" >< td class = "memItemLeft" align = "right" valign = "top" > virtual void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1StereoOpticalFlow.html#aac2df770eba89ed2607c024c91d82c78" > parseParameters</ a > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters)</ td ></ tr >
2026-08-02 01:36:11 +00:00
< tr class = "memdesc:aac2df770eba89ed2607c024c91d82c78" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Parse parameters from a parameters map. < br /></ td ></ tr >
< tr class = "separator:aac2df770eba89ed2607c024c91d82c78" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a406bbf688782966ea55a44c49ac10cbe" id = "r_a406bbf688782966ea55a44c49ac10cbe" >< td class = "memItemLeft" align = "right" valign = "top" > virtual std::vector< cv::Point2f >  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1StereoOpticalFlow.html#a406bbf688782966ea55a44c49ac10cbe" > computeCorrespondences</ a > (const cv::Mat & leftImage, const cv::Mat & rightImage, const std::vector< cv::Point2f > & leftCorners, std::vector< unsigned char > & status) const</ td ></ tr >
< tr class = "memdesc:a406bbf688782966ea55a44c49ac10cbe" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Compute stereo correspondences using optical flow. < br /></ td ></ tr >
< tr class = "separator:a406bbf688782966ea55a44c49ac10cbe" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ae53f537e0e9ebf121ff8a8b3bdc410a8" id = "r_ae53f537e0e9ebf121ff8a8b3bdc410a8" >< td class = "memItemLeft" align = "right" valign = "top" > float  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1StereoOpticalFlow.html#ae53f537e0e9ebf121ff8a8b3bdc410a8" > epsilon</ a > () const</ td ></ tr >
< tr class = "memdesc:ae53f537e0e9ebf121ff8a8b3bdc410a8" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Get the convergence threshold (epsilon) < br /></ td ></ tr >
< tr class = "separator:ae53f537e0e9ebf121ff8a8b3bdc410a8" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:abc4c02bc672566fc2dd3f7331b84944e" id = "r_abc4c02bc672566fc2dd3f7331b84944e" >< td class = "memItemLeft" align = "right" valign = "top" > virtual bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1StereoOpticalFlow.html#abc4c02bc672566fc2dd3f7331b84944e" > isGpuEnabled</ a > () const</ td ></ tr >
< tr class = "memdesc:abc4c02bc672566fc2dd3f7331b84944e" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Check if GPU acceleration is enabled. < br /></ td ></ tr >
< tr class = "separator:abc4c02bc672566fc2dd3f7331b84944e" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a3f3d0b8442e90ce4604c8bf9614fca7b" id = "r_a3f3d0b8442e90ce4604c8bf9614fca7b" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1StereoOpticalFlow.html#a3f3d0b8442e90ce4604c8bf9614fca7b" > usingMinEigenVals</ a > () const</ td ></ tr >
< tr class = "separator:a3f3d0b8442e90ce4604c8bf9614fca7b" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a50e2749904d2e05d87c75d0be3494b55" id = "r_a50e2749904d2e05d87c75d0be3494b55" >< td class = "memItemLeft" align = "right" valign = "top" > float  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1StereoOpticalFlow.html#a50e2749904d2e05d87c75d0be3494b55" > minEigThreshold</ a > () const</ td ></ tr >
< tr class = "separator:a50e2749904d2e05d87c75d0be3494b55" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aae7477edab52fd27d221de4f4e78e7bb" id = "r_aae7477edab52fd27d221de4f4e78e7bb" >< td class = "memItemLeft" align = "right" valign = "top" > float  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1StereoOpticalFlow.html#aae7477edab52fd27d221de4f4e78e7bb" > errorThreshold</ a > () const</ td ></ tr >
< tr class = "separator:aae7477edab52fd27d221de4f4e78e7bb" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pub_methods_classrtabmap_1_1Stereo" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_methods_classrtabmap_1_1Stereo')" >< img src = "closed.png" alt = "-" />   Public Member Functions inherited from < a class = "el" href = "classrtabmap_1_1Stereo.html" > rtabmap::Stereo</ a ></ td ></ tr >
2026-08-02 07:56:38 +00:00
< tr class = "memitem:a1031c68f4e66690da216718382af0ab3 inherit pub_methods_classrtabmap_1_1Stereo" id = "r_a1031c68f4e66690da216718382af0ab3" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Stereo.html#a1031c68f4e66690da216718382af0ab3" > Stereo</ a > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
2026-08-02 01:36:11 +00:00
< tr class = "memdesc:a1031c68f4e66690da216718382af0ab3 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Constructor. < br /></ td ></ tr >
< tr class = "separator:a1031c68f4e66690da216718382af0ab3 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aca70a15916baf916d6d66c93dad6b3d5 inherit pub_methods_classrtabmap_1_1Stereo" id = "r_aca70a15916baf916d6d66c93dad6b3d5" >< td class = "memItemLeft" align = "right" valign = "top" > virtual  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Stereo.html#aca70a15916baf916d6d66c93dad6b3d5" > ~Stereo</ a > ()</ td ></ tr >
< tr class = "memdesc:aca70a15916baf916d6d66c93dad6b3d5 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Virtual destructor. < br /></ td ></ tr >
< tr class = "separator:aca70a15916baf916d6d66c93dad6b3d5 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a5474ebbc178bcc29ebaff3d9d4e22e54 inherit pub_methods_classrtabmap_1_1Stereo" id = "r_a5474ebbc178bcc29ebaff3d9d4e22e54" >< td class = "memItemLeft" align = "right" valign = "top" > cv::Size  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Stereo.html#a5474ebbc178bcc29ebaff3d9d4e22e54" > winSize</ a > () const</ td ></ tr >
< tr class = "memdesc:a5474ebbc178bcc29ebaff3d9d4e22e54 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Get the search window size. < br /></ td ></ tr >
< tr class = "separator:a5474ebbc178bcc29ebaff3d9d4e22e54 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:abde66966de114cd5649fd22602d27816 inherit pub_methods_classrtabmap_1_1Stereo" id = "r_abde66966de114cd5649fd22602d27816" >< td class = "memItemLeft" align = "right" valign = "top" > int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Stereo.html#abde66966de114cd5649fd22602d27816" > iterations</ a > () const</ td ></ tr >
< tr class = "memdesc:abde66966de114cd5649fd22602d27816 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Get the number of iterations. < br /></ td ></ tr >
< tr class = "separator:abde66966de114cd5649fd22602d27816 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a3834923d75c9453e885bea01cb5ecfa5 inherit pub_methods_classrtabmap_1_1Stereo" id = "r_a3834923d75c9453e885bea01cb5ecfa5" >< td class = "memItemLeft" align = "right" valign = "top" > int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Stereo.html#a3834923d75c9453e885bea01cb5ecfa5" > maxLevel</ a > () const</ td ></ tr >
< tr class = "memdesc:a3834923d75c9453e885bea01cb5ecfa5 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Get the maximum pyramid level. < br /></ td ></ tr >
< tr class = "separator:a3834923d75c9453e885bea01cb5ecfa5 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aaeec1e0e5470b1b1268b4e04bff81742 inherit pub_methods_classrtabmap_1_1Stereo" id = "r_aaeec1e0e5470b1b1268b4e04bff81742" >< td class = "memItemLeft" align = "right" valign = "top" > float  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Stereo.html#aaeec1e0e5470b1b1268b4e04bff81742" > minDisparity</ a > () const</ td ></ tr >
< tr class = "memdesc:aaeec1e0e5470b1b1268b4e04bff81742 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Get the minimum disparity value. < br /></ td ></ tr >
< tr class = "separator:aaeec1e0e5470b1b1268b4e04bff81742 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a83319186c8c434ad0482d2eb911ecd31 inherit pub_methods_classrtabmap_1_1Stereo" id = "r_a83319186c8c434ad0482d2eb911ecd31" >< td class = "memItemLeft" align = "right" valign = "top" > float  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Stereo.html#a83319186c8c434ad0482d2eb911ecd31" > maxDisparity</ a > () const</ td ></ tr >
< tr class = "memdesc:a83319186c8c434ad0482d2eb911ecd31 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Get the maximum disparity value. < br /></ td ></ tr >
< tr class = "separator:a83319186c8c434ad0482d2eb911ecd31 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aed372a471e6d3ea72713e239709da978 inherit pub_methods_classrtabmap_1_1Stereo" id = "r_aed372a471e6d3ea72713e239709da978" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Stereo.html#aed372a471e6d3ea72713e239709da978" > winSSD</ a > () const</ td ></ tr >
< tr class = "memdesc:aed372a471e6d3ea72713e239709da978 inherit pub_methods_classrtabmap_1_1Stereo" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Check if SSD (Sum of Squared Differences) is used. < br /></ td ></ tr >
< tr class = "separator:aed372a471e6d3ea72713e239709da978 inherit pub_methods_classrtabmap_1_1Stereo" >< 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_static_methods_classrtabmap_1_1Stereo" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_static_methods_classrtabmap_1_1Stereo')" >< img src = "closed.png" alt = "-" />   Static Public Member Functions inherited from < a class = "el" href = "classrtabmap_1_1Stereo.html" > rtabmap::Stereo</ a ></ td ></ tr >
2026-08-02 07:56:38 +00:00
< tr class = "memitem:a2ce0c01fac282e0a8ffd862608fa2d96 inherit pub_static_methods_classrtabmap_1_1Stereo" id = "r_a2ce0c01fac282e0a8ffd862608fa2d96" >< td class = "memItemLeft" align = "right" valign = "top" > static < a class = "el" href = "classrtabmap_1_1Stereo.html" > Stereo</ a > *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Stereo.html#a2ce0c01fac282e0a8ffd862608fa2d96" > create</ a > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
2026-08-02 01:36:11 +00:00
< tr class = "memdesc:a2ce0c01fac282e0a8ffd862608fa2d96 inherit pub_static_methods_classrtabmap_1_1Stereo" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Factory method to create a < a class = "el" href = "classrtabmap_1_1Stereo.html" title = "Sparse stereo matching using block matching." > Stereo</ a > instance. < br /></ td ></ tr >
< tr class = "separator:a2ce0c01fac282e0a8ffd862608fa2d96 inherit pub_static_methods_classrtabmap_1_1Stereo" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
</ table >
< a name = "details" id = "details" ></ a >< h2 class = "groupheader" > Detailed Description</ h2 >
< div class = "textblock" >< p > Sparse stereo matching using optical flow. </ p >
< p > This class implements sparse stereo matching using optical flow (Lucas-Kanade) to find corresponding feature points between stereo image pairs. It extends the base < a class = "el" href = "classrtabmap_1_1Stereo.html" title = "Sparse stereo matching using block matching." > Stereo</ a > class with optical flow-based matching, which can be more robust than simple block matching, especially for textured regions.</ p >
< p > The algorithm uses pyramidal Lucas-Kanade optical flow to track feature points from the left image to the right image, then filters the results based on disparity constraints.</ p >
< dl class = "section note" >< dt > Note</ dt >< dd > Input images must be grayscale (CV_8UC1). </ dd >
< dd >
GPU acceleration is available if RTAB-Map is built with OpenCV CUDA support. </ dd ></ dl >
< dl class = "section see" >< dt > See also</ dt >< dd >< a class = "el" href = "classrtabmap_1_1Stereo.html" title = "Sparse stereo matching using block matching." > Stereo</ a > for block matching-based implementation </ dd ></ dl >
< p class = "definition" > Definition at line < a class = "el" href = "Stereo_8h_source.html#l00219" > 219</ a > of file < a class = "el" href = "Stereo_8h_source.html" > Stereo.h</ a > .</ p >
</ div >< h2 class = "groupheader" > Constructor & Destructor Documentation</ h2 >
< a id = "a85173879ab911862112710fa1c94d8c5" name = "a85173879ab911862112710fa1c94d8c5" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a85173879ab911862112710fa1c94d8c5" > ◆  </ a ></ span > StereoOpticalFlow()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > rtabmap::StereoOpticalFlow::StereoOpticalFlow </ td >
< td > (</ td >
2026-08-02 07:56:38 +00:00
< td class = "paramtype" > const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >
< td class = "paramname" >< em > parameters</ em > = < code >< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ()</ code ></ td >< td > )</ td >
2026-08-02 01:36:11 +00:00
< td ></ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Constructor. </ p >
< p > Initializes a < a class = "el" href = "classrtabmap_1_1StereoOpticalFlow.html" title = "Sparse stereo matching using optical flow." > StereoOpticalFlow</ a > instance with default parameter values and then parses the provided parameters map to override defaults.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > parameters</ td >< td > Optional parameters map containing configuration values. If empty, default values are used. </ td ></ tr >
</ table >
</ dd >
</ dl >
</ div >
</ div >
< a id = "afa38ce6868f4bf0388559f81ff917a97" name = "afa38ce6868f4bf0388559f81ff917a97" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#afa38ce6868f4bf0388559f81ff917a97" > ◆  </ a ></ span > ~StereoOpticalFlow()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > virtual rtabmap::StereoOpticalFlow::~StereoOpticalFlow </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span >< span class = "mlabel" > virtual</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Virtual destructor. </ p >
< p class = "definition" > Definition at line < a class = "el" href = "Stereo_8h_source.html#l00235" > 235</ a > of file < a class = "el" href = "Stereo_8h_source.html" > Stereo.h</ a > .</ p >
</ div >
</ div >
< h2 class = "groupheader" > Member Function Documentation</ h2 >
< a id = "aac2df770eba89ed2607c024c91d82c78" name = "aac2df770eba89ed2607c024c91d82c78" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#aac2df770eba89ed2607c024c91d82c78" > ◆  </ 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::StereoOpticalFlow::parseParameters </ td >
< td > (</ td >
2026-08-02 07:56:38 +00:00
< td class = "paramtype" > const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >
2026-08-02 01:36:11 +00:00
< td class = "paramname" >< em > parameters</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > virtual</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Parse parameters from a parameters map. </ p >
< p > Updates the algorithm's configuration based on the provided parameters map. First calls the base class < a class = "el" href = "classrtabmap_1_1StereoOpticalFlow.html#aac2df770eba89ed2607c024c91d82c78" title = "Parse parameters from a parameters map." > parseParameters()</ a > , then parses optical flow-specific parameters:</ p >< ul >
2026-08-02 07:56:38 +00:00
< li >< a class = "el" href = "classrtabmap_1_1Parameters.html#a5690d54cd1982ac7f2a9ad5865749080" title = "Key of parameter Stereo/Eps : uFormat("[%s=true] Epsilon stop criterion.", kStereoOpticalFlow()...." > Parameters::kStereoEps()</ a > - Convergence threshold for optical flow</ li >
< li >< a class = "el" href = "classrtabmap_1_1Parameters.html#a4c428b3cf9ef87a8a1b7c229abe8f894" title = "Key of parameter Stereo/Gpu : uFormat("[%s=true] Enable GPU version of the optical flow approach (onl..." > Parameters::kStereoGpu()</ a > - Enable GPU acceleration (requires OpenCV CUDA)</ li >
2026-08-02 01:36:11 +00:00
</ ul >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > parameters</ td >< td >< a class = "el" href = "classrtabmap_1_1Parameters.html" > Parameters</ a > map containing configuration values </ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section note" >< dt > Note</ dt >< dd > If GPU is enabled but RTAB-Map is not built with OpenCV CUDA support, GPU will be automatically disabled and an error message will be logged. </ dd ></ dl >
< p > Reimplemented from < a class = "el" href = "classrtabmap_1_1Stereo.html#a405d17f179327670251fca395728584b" > rtabmap::Stereo</ a > .</ p >
</ div >
</ div >
< a id = "a406bbf688782966ea55a44c49ac10cbe" name = "a406bbf688782966ea55a44c49ac10cbe" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a406bbf688782966ea55a44c49ac10cbe" > ◆  </ a ></ span > computeCorrespondences()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > virtual std::vector< cv::Point2f > rtabmap::StereoOpticalFlow::computeCorrespondences </ td >
< td > (</ td >
< td class = "paramtype" > const cv::Mat &  </ td >
< td class = "paramname" >< em > leftImage</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const cv::Mat &  </ td >
< td class = "paramname" >< em > rightImage</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const std::vector< cv::Point2f > &  </ td >
< td class = "paramname" >< em > leftCorners</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > std::vector< unsigned char > &  </ td >
< td class = "paramname" >< em > status</ em >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ td >
< td ></ td >< td > const</ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > virtual</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Compute stereo correspondences using optical flow. </ p >
< p > Finds corresponding points in the right stereo image for the given points in the left stereo image using pyramidal Lucas-Kanade optical flow. The results are filtered based on disparity constraints (minDisparity to maxDisparity).</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > leftImage</ td >< td > Left stereo image (must be CV_8UC1 grayscale) </ td ></ tr >
< tr >< td class = "paramname" > rightImage</ td >< td > Right stereo image (must be CV_8UC1 grayscale) </ td ></ tr >
< tr >< td class = "paramname" > leftCorners</ td >< td > Input vector of feature points in the left image </ td ></ tr >
< tr >< td class = "paramname" > status</ td >< td > Output vector indicating which correspondences are valid (1) or invalid (0). The size matches leftCorners.size(). </ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section return" >< dt > Returns</ dt >< dd > Vector of corresponding points in the right image. The size matches leftCorners.size(). Invalid correspondences may have coordinates outside the image bounds. </ dd ></ dl >
< dl class = "section note" >< dt > Note</ dt >< dd > Both input images must be grayscale (CV_8UC1). </ dd >
< dd >
If GPU is enabled, the GPU version of this method is called automatically. </ dd ></ dl >
< p > Reimplemented from < a class = "el" href = "classrtabmap_1_1Stereo.html#aefb9a38643b353727430c4bb6a551382" > rtabmap::Stereo</ a > .</ p >
</ div >
</ div >
< a id = "ae53f537e0e9ebf121ff8a8b3bdc410a8" name = "ae53f537e0e9ebf121ff8a8b3bdc410a8" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#ae53f537e0e9ebf121ff8a8b3bdc410a8" > ◆  </ a ></ span > epsilon()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > float rtabmap::StereoOpticalFlow::epsilon </ 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 > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Get the convergence threshold (epsilon) </ p >
< dl class = "section return" >< dt > Returns</ dt >< dd > Convergence threshold for optical flow iteration termination </ dd ></ dl >
< p class = "definition" > Definition at line < a class = "el" href = "Stereo_8h_source.html#l00302" > 302</ a > of file < a class = "el" href = "Stereo_8h_source.html" > Stereo.h</ a > .</ p >
</ div >
</ div >
< a id = "abc4c02bc672566fc2dd3f7331b84944e" name = "abc4c02bc672566fc2dd3f7331b84944e" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#abc4c02bc672566fc2dd3f7331b84944e" > ◆  </ a ></ span > isGpuEnabled()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > virtual bool rtabmap::StereoOpticalFlow::isGpuEnabled </ 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" > virtual</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Check if GPU acceleration is enabled. </ p >
< p > Returns whether GPU acceleration is currently enabled for optical flow computation. GPU acceleration requires OpenCV CUDA support to be compiled in.</ p >
< dl class = "section return" >< dt > Returns</ dt >< dd > true if GPU is enabled and available, false otherwise </ dd ></ dl >
< p > Reimplemented from < a class = "el" href = "classrtabmap_1_1Stereo.html#ac1db900d4dbca15de73a81d32f0be179" > rtabmap::Stereo</ a > .</ p >
</ div >
</ div >
< a id = "a3f3d0b8442e90ce4604c8bf9614fca7b" name = "a3f3d0b8442e90ce4604c8bf9614fca7b" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a3f3d0b8442e90ce4604c8bf9614fca7b" > ◆  </ a ></ span > usingMinEigenVals()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > bool rtabmap::StereoOpticalFlow::usingMinEigenVals </ 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 > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "Stereo_8h_source.html#l00314" > 314</ a > of file < a class = "el" href = "Stereo_8h_source.html" > Stereo.h</ a > .</ p >
</ div >
</ div >
< a id = "a50e2749904d2e05d87c75d0be3494b55" name = "a50e2749904d2e05d87c75d0be3494b55" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a50e2749904d2e05d87c75d0be3494b55" > ◆  </ a ></ span > minEigThreshold()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > float rtabmap::StereoOpticalFlow::minEigThreshold </ 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 > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "Stereo_8h_source.html#l00315" > 315</ a > of file < a class = "el" href = "Stereo_8h_source.html" > Stereo.h</ a > .</ p >
</ div >
</ div >
< a id = "aae7477edab52fd27d221de4f4e78e7bb" name = "aae7477edab52fd27d221de4f4e78e7bb" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#aae7477edab52fd27d221de4f4e78e7bb" > ◆  </ a ></ span > errorThreshold()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > float rtabmap::StereoOpticalFlow::errorThreshold </ 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 > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "Stereo_8h_source.html#l00316" > 316</ a > of file < a class = "el" href = "Stereo_8h_source.html" > Stereo.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 = "Stereo_8h_source.html" > Stereo.h</ a ></ li >
</ ul >
</ div > <!-- contents -->
2026-08-02 07:56:38 +00:00
</ div > <!-- doc-content -->
2026-08-02 01:36:11 +00:00
<!-- start footer part -->
2026-08-02 07:56:38 +00:00
< 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_1StereoOpticalFlow.html" > StereoOpticalFlow</ 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 >
2026-08-02 01:36:11 +00:00
</ body >
</ html >