Files
rtabmap/api/latest/StereoCameraModel_8h_source.html
T

338 lines
63 KiB
HTML
Raw Normal View History

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: corelib/include/rtabmap/core/StereoCameraModel.h Source File</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-20 06:51:14 +00:00
<div id="projectname">RTAB-Map<span id="projectnumber">&#160;0.23.12</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&amp;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&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</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&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('StereoCameraModel_8h_source.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="headertitle"><div class="title">StereoCameraModel.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">Copyright (c) 2010-2016, Mathieu Labbe - IntRoLab - Universite de Sherbrooke</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">All rights reserved.</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">modification, are permitted provided that the following conditions are met:</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * Redistributions in binary form must reproduce the above copyright</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> notice, this list of conditions and the following disclaimer in the</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> documentation and/or other materials provided with the distribution.</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Neither the name of the Universite de Sherbrooke nor the</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> names of its contributors may be used to endorse or promote products</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> derived from this software without specific prior written permission.</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"></span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment">SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment">*/</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#ifndef STEREOCAMERAMODEL_H_</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#define STEREOCAMERAMODEL_H_</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#include &lt;rtabmap/core/CameraModel.h&gt;</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacertabmap.html">rtabmap</a> {</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="foldopen" id="foldopen00053" data-start="{" data-end="};">
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html"> 53</a></span><span class="keyword">class </span>RTABMAP_CORE_EXPORT <a class="code hl_class" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span>{</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a179ffcbc49ff3a281ef33cb4381e061c"> 59</a></span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a179ffcbc49ff3a281ef33cb4381e061c">StereoCameraModel</a>() : leftSuffix_(<span class="stringliteral">&quot;left&quot;</span>), rightSuffix_(<span class="stringliteral">&quot;right&quot;</span>) {}</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a1887639053ef5c09c3f650b5a7f280d8"> 92</a></span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a1887639053ef5c09c3f650b5a7f280d8">StereoCameraModel</a>(</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">const</span> std::string &amp; name,</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">const</span> cv::Size &amp; imageSize1,</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">const</span> cv::Mat &amp; K1, <span class="keyword">const</span> cv::Mat &amp; D1, <span class="keyword">const</span> cv::Mat &amp; R1, <span class="keyword">const</span> cv::Mat &amp; P1,</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">const</span> cv::Size &amp; imageSize2,</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">const</span> cv::Mat &amp; K2, <span class="keyword">const</span> cv::Mat &amp; D2, <span class="keyword">const</span> cv::Mat &amp; R2, <span class="keyword">const</span> cv::Mat &amp; P2,</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">const</span> cv::Mat &amp; R, <span class="keyword">const</span> cv::Mat &amp; T, <span class="keyword">const</span> cv::Mat &amp; E, <span class="keyword">const</span> cv::Mat &amp; F,</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1Transform.html">Transform</a> &amp; localTransform = <a class="code hl_class" href="classrtabmap_1_1Transform.html">Transform</a>(0,0,1,0, -1,0,0,0, 0,-1,0,0));</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#ae91c2717319f3cd7b6f40768e5adbb9f"> 124</a></span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#ae91c2717319f3cd7b6f40768e5adbb9f">StereoCameraModel</a>(</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">const</span> std::string &amp; name,</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp; leftCameraModel,</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp; rightCameraModel,</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">const</span> cv::Mat &amp; R = cv::Mat(),</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">const</span> cv::Mat &amp; T = cv::Mat(),</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">const</span> cv::Mat &amp; E = cv::Mat(),</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">const</span> cv::Mat &amp; F = cv::Mat());</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a76bab07a51033de989fc522064ede024"> 156</a></span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a76bab07a51033de989fc522064ede024">StereoCameraModel</a>(</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keyword">const</span> std::string &amp; name,</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp; leftCameraModel,</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp; rightCameraModel,</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1Transform.html">Transform</a> &amp; extrinsics);</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a0bdbbaa6e3ab315b0c5fce03247cea6c"> 180</a></span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a0bdbbaa6e3ab315b0c5fce03247cea6c">StereoCameraModel</a>(</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keywordtype">double</span> fx,</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keywordtype">double</span> fy,</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keywordtype">double</span> cx,</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keywordtype">double</span> cy,</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keywordtype">double</span> baseline,</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1Transform.html">Transform</a> &amp; localTransform = <a class="code hl_class" href="classrtabmap_1_1Transform.html">Transform</a>(0,0,1,0, -1,0,0,0, 0,-1,0,0),</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">const</span> cv::Size &amp; imageSize = cv::Size(0,0));</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a8e3a5c32e13727545f2d22dda05c96b0"> 206</a></span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a8e3a5c32e13727545f2d22dda05c96b0">StereoCameraModel</a>(</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">const</span> std::string &amp; name,</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="keywordtype">double</span> fx,</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keywordtype">double</span> fy,</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="keywordtype">double</span> cx,</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keywordtype">double</span> cy,</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keywordtype">double</span> baseline,</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1Transform.html">Transform</a> &amp; localTransform = <a class="code hl_class" href="classrtabmap_1_1Transform.html">Transform</a>(0,0,1,0, -1,0,0,0, 0,-1,0,0),</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">const</span> cv::Size &amp; imageSize = cv::Size(0,0));</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#afaa6d8cf4c9b503cc8c8a03fb25ecdf3"> 219</a></span> <span class="keyword">virtual</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#afaa6d8cf4c9b503cc8c8a03fb25ecdf3">~StereoCameraModel</a>() {}</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a6c16870b83978d286003b166fd6949cf"> 224</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a6c16870b83978d286003b166fd6949cf">isValidForProjection</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> left_.isValidForProjection() &amp;&amp; right_.isValidForProjection() &amp;&amp; baseline() &gt; 0.0;}</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> </div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#ac5e22eec7815cb27e436afada2b5769f"> 229</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#ac5e22eec7815cb27e436afada2b5769f">isValidForRectification</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> left_.isValidForRectification() &amp;&amp; right_.isValidForRectification();}</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> </div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a544ee7d540dfe57c94863190d87898aa"> 234</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a544ee7d540dfe57c94863190d87898aa">initRectificationMap</a>() {left_.initRectificationMap(); right_.initRectificationMap();}</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> </div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#aa35a73db2fc272f0f33b40220b75fa43"> 239</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#aa35a73db2fc272f0f33b40220b75fa43">isRectificationMapInitialized</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> left_.isRectificationMapInitialized() &amp;&amp; right_.isRectificationMapInitialized();}</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> </div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#adc404f0be63eedd0e0a9d6d5b5b36a94"> 253</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#adc404f0be63eedd0e0a9d6d5b5b36a94">setName</a>(<span class="keyword">const</span> std::string &amp; name, <span class="keyword">const</span> std::string &amp; leftSuffix = <span class="stringliteral">&quot;left&quot;</span>, <span class="keyword">const</span> std::string &amp; rightSuffix = <span class="stringliteral">&quot;right&quot;</span>);</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> </div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#ae759fe4ff0862f5305cf85257e0367a1"> 258</a></span> <span class="keyword">const</span> std::string &amp; <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#ae759fe4ff0862f5305cf85257e0367a1">name</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> name_;}</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> </div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a898c2eff7bfc4977703f8edb86ca1187"> 263</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a898c2eff7bfc4977703f8edb86ca1187">setImageSize</a>(<span class="keyword">const</span> cv::Size &amp; size) {left_.setImageSize(size); right_.setImageSize(size);}</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> </div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a9c2d94b9bc335fdec7f5fa4f4c45a07c"> 284</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a9c2d94b9bc335fdec7f5fa4f4c45a07c">load</a>(<span class="keyword">const</span> std::string &amp; directory, <span class="keyword">const</span> std::string &amp; cameraName, <span class="keywordtype">bool</span> ignoreStereoTransform = <span class="keyword">true</span>, <span class="keywordtype">bool</span> initRectificationMaps = <span class="keyword">true</span>);</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> </div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#abfafd0a24795186f3bf623082663b4cd"> 299</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#abfafd0a24795186f3bf623082663b4cd">save</a>(<span class="keyword">const</span> std::string &amp; directory, <span class="keywordtype">bool</span> ignoreStereoTransform = <span class="keyword">true</span>) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a1d016f499dbcce889ce7b7062c83b660"> 315</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a1d016f499dbcce889ce7b7062c83b660">saveStereoTransform</a>(<span class="keyword">const</span> std::string &amp; directory) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> </div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a4eab6254ef808719ca2d0543c89e0722"> 330</a></span> std::vector&lt;unsigned char&gt; <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a4eab6254ef808719ca2d0543c89e0722">serialize</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> </div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a7467f3a9a7961e643d0cd152286a13dd"> 343</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a7467f3a9a7961e643d0cd152286a13dd">deserialize</a>(<span class="keyword">const</span> std::vector&lt;unsigned char&gt;&amp; data);</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> </div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#afdec3f5bab7ab9b4c339edaa30e639db"> 365</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#afdec3f5bab7ab9b4c339edaa30e639db">deserialize</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> * data, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dataSize);</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> </div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a8dc48f95fcf68eb81da96941f778535f"> 378</a></span> <span class="keywordtype">double</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a8dc48f95fcf68eb81da96941f778535f">baseline</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> right_.fx()!=0.0 &amp;&amp; left_.fx() != 0.0 ? left_.Tx() / left_.fx() - right_.Tx()/right_.fx():0.0;}</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> </div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a514f7d1baff8b4be96d760b27279f5d6"> 395</a></span> <span class="keywordtype">float</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a514f7d1baff8b4be96d760b27279f5d6">computeDepth</a>(<span class="keywordtype">float</span> disparity) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> </div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#aecf8b2a628ead0bc422dbf791d683f5b"> 411</a></span> <span class="keywordtype">float</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#aecf8b2a628ead0bc422dbf791d683f5b">computeDisparity</a>(<span class="keywordtype">float</span> depth) <span class="keyword">const</span>; <span class="comment">// m</span></div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> </div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a28230b8236ed778729ed1e1ceb590f31"> 428</a></span> <span class="keywordtype">float</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a28230b8236ed778729ed1e1ceb590f31">computeDisparity</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> depth) <span class="keyword">const</span>; <span class="comment">// mm</span></div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> </div>
2026-09-22 22:05:02 +00:00
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a084e3e40c8b0caf66269d508a8fcffbc"> 454</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a084e3e40c8b0caf66269d508a8fcffbc">reproject</a>(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z, <span class="keywordtype">float</span> &amp; uLeft, <span class="keywordtype">float</span> &amp; vLeft, <span class="keywordtype">float</span> &amp; uRight, <span class="keywordtype">float</span> &amp; vRight) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> </div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a626b8f54940ebc77ec504921004dda3a"> 473</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a626b8f54940ebc77ec504921004dda3a">reproject</a>(<span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <span class="keywordtype">float</span> z, <span class="keywordtype">int</span> &amp; uLeft, <span class="keywordtype">int</span> &amp; vLeft, <span class="keywordtype">int</span> &amp; uRight, <span class="keywordtype">int</span> &amp; vRight) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> </div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a7afd347afb3909a2039f154b3a048035"> 475</a></span> <span class="keyword">const</span> cv::Mat &amp; <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a7afd347afb3909a2039f154b3a048035">R</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> R_;} </div>
<div class="foldopen" id="foldopen00476" data-start="{" data-end="}">
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a82d60ddca8d0cdbe939b043ed02334b6"> 476</a></span> <span class="keyword">const</span> cv::Mat &amp; <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a82d60ddca8d0cdbe939b043ed02334b6">T</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> T_;} </div>
<div class="foldopen" id="foldopen00477" data-start="{" data-end="}">
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a8ab6c698248837e4dcfe36c2e7b02546"> 477</a></span> <span class="keyword">const</span> cv::Mat &amp; <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a8ab6c698248837e4dcfe36c2e7b02546">E</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> E_;} </div>
<div class="foldopen" id="foldopen00478" data-start="{" data-end="}">
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a1e4ffc9baa8dfee0a79ea32bac9b7c1c"> 478</a></span> <span class="keyword">const</span> cv::Mat &amp; <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a1e4ffc9baa8dfee0a79ea32bac9b7c1c">F</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> F_;} </div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> </div>
<div class="foldopen" id="foldopen00492" data-start="{" data-end="}">
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a264d57ca1e0f6b41d03ffe1d89afc382"> 492</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a264d57ca1e0f6b41d03ffe1d89afc382">scale</a>(<span class="keywordtype">double</span> scale);</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> </div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#ac2fb1c489ae60bd7e4c104515db3c3a9"> 506</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#ac2fb1c489ae60bd7e4c104515db3c3a9">roi</a>(<span class="keyword">const</span> cv::Rect &amp; roi);</div>
2026-08-06 22:56:24 +00:00
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> </div>
2026-09-22 22:05:02 +00:00
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#aee77882ceca428a560f5fd3713a330fb"> 511</a></span> <span class="keywordtype">void</span> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#aee77882ceca428a560f5fd3713a330fb">setLocalTransform</a>(<span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1Transform.html">Transform</a> &amp; transform) {left_.setLocalTransform(transform);}</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> </div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a5257cde3d51bbee7c51c3f36d0c7741f"> 516</a></span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1Transform.html">Transform</a> &amp; <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a5257cde3d51bbee7c51c3f36d0c7741f">localTransform</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> left_.localTransform();}</div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> </div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a506f83654d7f772a3743d24869c05742"> 542</a></span> <a class="code hl_class" href="classrtabmap_1_1Transform.html">Transform</a> <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a506f83654d7f772a3743d24869c05742">stereoTransform</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> </div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a064d29601c0ba13fc47584849e26b81b"> 547</a></span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp; <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a064d29601c0ba13fc47584849e26b81b">left</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> left_;}</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#ab8061141407d8cc55d7f83211708af85"> 551</a></span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp; <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#ab8061141407d8cc55d7f83211708af85">right</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> right_;}</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> </div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a799e3f787d015b5cbd0189768f5b673c"> 556</a></span> <span class="keyword">const</span> std::string &amp; <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a799e3f787d015b5cbd0189768f5b673c">getLeftSuffix</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> leftSuffix_;}</div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"><a class="line" href="classrtabmap_1_1StereoCameraModel.html#a3ecae21bbf6bc9914d0bb553c99f9e09"> 560</a></span> <span class="keyword">const</span> std::string &amp; <a class="code hl_function" href="classrtabmap_1_1StereoCameraModel.html#a3ecae21bbf6bc9914d0bb553c99f9e09">getRightSuffix</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> rightSuffix_;}</div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> </div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span> <span class="keywordtype">void</span> updateStereoRectification();</div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span> </div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span> std::string leftSuffix_; </div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> std::string rightSuffix_; </div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span> <a class="code hl_class" href="classrtabmap_1_1CameraModel.html">CameraModel</a> left_; </div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span> <a class="code hl_class" href="classrtabmap_1_1CameraModel.html">CameraModel</a> right_; </div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span> std::string name_; </div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> </div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span> cv::Mat R_; </div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> cv::Mat T_; </div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span> cv::Mat E_; </div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> cv::Mat F_; </div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span>};</div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> </div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"><a class="line" href="namespacertabmap.html#a6138748ef83b742105e47c9275885e4a"> 601</a></span>RTABMAP_CORE_EXPORT std::ostream&amp; <a class="code hl_function" href="namespacertabmap.html#a087b7a1b89acb679edee23883653f1a7">operator&lt;&lt;</a>(std::ostream&amp; os, <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a>&amp; model);</div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span> </div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span>} <span class="comment">// rtabmap</span></div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span> </div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span><span class="preprocessor">#endif </span><span class="comment">/* STEREOCAMERAMODEL_H_ */</span><span class="preprocessor"></span></div>
2026-08-06 22:56:24 +00:00
</div>
</div>
</div>
</div>
</div>
<div class="ttc" id="aclassrtabmap_1_1CameraModel_html"><div class="ttname"><a href="classrtabmap_1_1CameraModel.html">rtabmap::CameraModel</a></div><div class="ttdoc">Represents a pinhole camera model containing intrinsic and extrinsic parameters, used for projection,...</div><div class="ttdef"><b>Definition</b> <a href="CameraModel_8h_source.html#l00052">CameraModel.h:53</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html">rtabmap::StereoCameraModel</a></div><div class="ttdoc">A class representing a calibrated stereo camera system.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00053">StereoCameraModel.h:54</a></div></div>
2026-09-22 22:05:02 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a064d29601c0ba13fc47584849e26b81b"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a064d29601c0ba13fc47584849e26b81b">rtabmap::StereoCameraModel::left</a></div><div class="ttdeci">const CameraModel &amp; left() const</div><div class="ttdoc">Returns the left camera model.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00547">StereoCameraModel.h:547</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a084e3e40c8b0caf66269d508a8fcffbc"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a084e3e40c8b0caf66269d508a8fcffbc">rtabmap::StereoCameraModel::reproject</a></div><div class="ttdeci">void reproject(float x, float y, float z, float &amp;uLeft, float &amp;vLeft, float &amp;uRight, float &amp;vRight) const</div><div class="ttdoc">Reprojects a 3D point of the left camera frame into both image planes (floating-point).</div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a0bdbbaa6e3ab315b0c5fce03247cea6c"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a0bdbbaa6e3ab315b0c5fce03247cea6c">rtabmap::StereoCameraModel::StereoCameraModel</a></div><div class="ttdeci">StereoCameraModel(double fx, double fy, double cx, double cy, double baseline, const Transform &amp;localTransform=Transform(0, 0, 1, 0, -1, 0, 0, 0, 0,-1, 0, 0), const cv::Size &amp;imageSize=cv::Size(0, 0))</div><div class="ttdoc">Minimal constructor using focal lengths and baseline only.</div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a179ffcbc49ff3a281ef33cb4381e061c"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a179ffcbc49ff3a281ef33cb4381e061c">rtabmap::StereoCameraModel::StereoCameraModel</a></div><div class="ttdeci">StereoCameraModel()</div><div class="ttdoc">Default constructor. Creates an empty stereo model with default suffixes (&quot;left&quot;, &quot;right&quot;).</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00059">StereoCameraModel.h:59</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a1887639053ef5c09c3f650b5a7f280d8"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a1887639053ef5c09c3f650b5a7f280d8">rtabmap::StereoCameraModel::StereoCameraModel</a></div><div class="ttdeci">StereoCameraModel(const std::string &amp;name, const cv::Size &amp;imageSize1, const cv::Mat &amp;K1, const cv::Mat &amp;D1, const cv::Mat &amp;R1, const cv::Mat &amp;P1, const cv::Size &amp;imageSize2, const cv::Mat &amp;K2, const cv::Mat &amp;D2, const cv::Mat &amp;R2, const cv::Mat &amp;P2, const cv::Mat &amp;R, const cv::Mat &amp;T, const cv::Mat &amp;E, const cv::Mat &amp;F, const Transform &amp;localTransform=Transform(0, 0, 1, 0, -1, 0, 0, 0, 0,-1, 0, 0))</div><div class="ttdoc">Constructs a StereoCameraModel from detailed intrinsic and extrinsic parameters for both cameras.</div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a1d016f499dbcce889ce7b7062c83b660"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a1d016f499dbcce889ce7b7062c83b660">rtabmap::StereoCameraModel::saveStereoTransform</a></div><div class="ttdeci">bool saveStereoTransform(const std::string &amp;directory) const</div><div class="ttdoc">Saves stereo extrinsic parameters to a YAML file in ROS format.</div></div>
2026-09-22 22:05:02 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a1e4ffc9baa8dfee0a79ea32bac9b7c1c"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a1e4ffc9baa8dfee0a79ea32bac9b7c1c">rtabmap::StereoCameraModel::F</a></div><div class="ttdeci">const cv::Mat &amp; F() const</div><div class="ttdoc">Fundamental matrix.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00478">StereoCameraModel.h:478</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a264d57ca1e0f6b41d03ffe1d89afc382"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a264d57ca1e0f6b41d03ffe1d89afc382">rtabmap::StereoCameraModel::scale</a></div><div class="ttdeci">void scale(double scale)</div><div class="ttdoc">Scales both cameras' calibration by a factor.</div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a28230b8236ed778729ed1e1ceb590f31"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a28230b8236ed778729ed1e1ceb590f31">rtabmap::StereoCameraModel::computeDisparity</a></div><div class="ttdeci">float computeDisparity(unsigned short depth) const</div><div class="ttdoc">Computes the disparity value from a depth given in unsigned short format (millimeters).</div></div>
2026-09-22 22:05:02 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a3ecae21bbf6bc9914d0bb553c99f9e09"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a3ecae21bbf6bc9914d0bb553c99f9e09">rtabmap::StereoCameraModel::getRightSuffix</a></div><div class="ttdeci">const std::string &amp; getRightSuffix() const</div><div class="ttdoc">Gets the suffix used for the right camera calibration file.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00560">StereoCameraModel.h:560</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a4eab6254ef808719ca2d0543c89e0722"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a4eab6254ef808719ca2d0543c89e0722">rtabmap::StereoCameraModel::serialize</a></div><div class="ttdeci">std::vector&lt; unsigned char &gt; serialize() const</div><div class="ttdoc">Serializes the stereo camera model into a byte vector.</div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a506f83654d7f772a3743d24869c05742"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a506f83654d7f772a3743d24869c05742">rtabmap::StereoCameraModel::stereoTransform</a></div><div class="ttdeci">Transform stereoTransform() const</div><div class="ttdoc">Returns the stereo transform (left camera relative to right camera coordinate system).</div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a514f7d1baff8b4be96d760b27279f5d6"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a514f7d1baff8b4be96d760b27279f5d6">rtabmap::StereoCameraModel::computeDepth</a></div><div class="ttdeci">float computeDepth(float disparity) const</div><div class="ttdoc">Computes the depth (Z coordinate) from a given disparity value.</div></div>
2026-09-22 22:05:02 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a5257cde3d51bbee7c51c3f36d0c7741f"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a5257cde3d51bbee7c51c3f36d0c7741f">rtabmap::StereoCameraModel::localTransform</a></div><div class="ttdeci">const Transform &amp; localTransform() const</div><div class="ttdoc">Gets the local transform from left camera to robot base.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00516">StereoCameraModel.h:516</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a544ee7d540dfe57c94863190d87898aa"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a544ee7d540dfe57c94863190d87898aa">rtabmap::StereoCameraModel::initRectificationMap</a></div><div class="ttdeci">void initRectificationMap()</div><div class="ttdoc">Initializes the rectification maps for both cameras.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00234">StereoCameraModel.h:234</a></div></div>
2026-09-22 22:05:02 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a626b8f54940ebc77ec504921004dda3a"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a626b8f54940ebc77ec504921004dda3a">rtabmap::StereoCameraModel::reproject</a></div><div class="ttdeci">void reproject(float x, float y, float z, int &amp;uLeft, int &amp;vLeft, int &amp;uRight, int &amp;vRight) const</div><div class="ttdoc">Reprojects a 3D point of the left camera frame into both image planes (rounded to int).</div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a6c16870b83978d286003b166fd6949cf"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a6c16870b83978d286003b166fd6949cf">rtabmap::StereoCameraModel::isValidForProjection</a></div><div class="ttdeci">bool isValidForProjection() const</div><div class="ttdoc">Returns true if both left and right models are valid for projection and the baseline is positive.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00224">StereoCameraModel.h:224</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a7467f3a9a7961e643d0cd152286a13dd"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a7467f3a9a7961e643d0cd152286a13dd">rtabmap::StereoCameraModel::deserialize</a></div><div class="ttdeci">unsigned int deserialize(const std::vector&lt; unsigned char &gt; &amp;data)</div><div class="ttdoc">Deserializes stereo camera model data from a byte vector.</div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a76bab07a51033de989fc522064ede024"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a76bab07a51033de989fc522064ede024">rtabmap::StereoCameraModel::StereoCameraModel</a></div><div class="ttdeci">StereoCameraModel(const std::string &amp;name, const CameraModel &amp;leftCameraModel, const CameraModel &amp;rightCameraModel, const Transform &amp;extrinsics)</div><div class="ttdoc">Constructs a StereoCameraModel from two camera models and an extrinsic Transform between them.</div></div>
2026-09-22 22:05:02 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a799e3f787d015b5cbd0189768f5b673c"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a799e3f787d015b5cbd0189768f5b673c">rtabmap::StereoCameraModel::getLeftSuffix</a></div><div class="ttdeci">const std::string &amp; getLeftSuffix() const</div><div class="ttdoc">Gets the suffix used for the left camera calibration file.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00556">StereoCameraModel.h:556</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a7afd347afb3909a2039f154b3a048035"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a7afd347afb3909a2039f154b3a048035">rtabmap::StereoCameraModel::R</a></div><div class="ttdeci">const cv::Mat &amp; R() const</div><div class="ttdoc">Stereo extrinsic rotation matrix.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00475">StereoCameraModel.h:475</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a82d60ddca8d0cdbe939b043ed02334b6"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a82d60ddca8d0cdbe939b043ed02334b6">rtabmap::StereoCameraModel::T</a></div><div class="ttdeci">const cv::Mat &amp; T() const</div><div class="ttdoc">Stereo extrinsic translation vector.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00476">StereoCameraModel.h:476</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a898c2eff7bfc4977703f8edb86ca1187"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a898c2eff7bfc4977703f8edb86ca1187">rtabmap::StereoCameraModel::setImageSize</a></div><div class="ttdeci">void setImageSize(const cv::Size &amp;size)</div><div class="ttdoc">Sets the image size for both left and right cameras.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00263">StereoCameraModel.h:263</a></div></div>
2026-09-22 22:05:02 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a8ab6c698248837e4dcfe36c2e7b02546"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a8ab6c698248837e4dcfe36c2e7b02546">rtabmap::StereoCameraModel::E</a></div><div class="ttdeci">const cv::Mat &amp; E() const</div><div class="ttdoc">Essential matrix.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00477">StereoCameraModel.h:477</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a8dc48f95fcf68eb81da96941f778535f"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a8dc48f95fcf68eb81da96941f778535f">rtabmap::StereoCameraModel::baseline</a></div><div class="ttdeci">double baseline() const</div><div class="ttdoc">Returns the stereo baseline in meters.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00378">StereoCameraModel.h:378</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a8e3a5c32e13727545f2d22dda05c96b0"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a8e3a5c32e13727545f2d22dda05c96b0">rtabmap::StereoCameraModel::StereoCameraModel</a></div><div class="ttdeci">StereoCameraModel(const std::string &amp;name, double fx, double fy, double cx, double cy, double baseline, const Transform &amp;localTransform=Transform(0, 0, 1, 0, -1, 0, 0, 0, 0,-1, 0, 0), const cv::Size &amp;imageSize=cv::Size(0, 0))</div><div class="ttdoc">Minimal constructor that also sets a name, required if we want to save it to a file.</div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_a9c2d94b9bc335fdec7f5fa4f4c45a07c"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#a9c2d94b9bc335fdec7f5fa4f4c45a07c">rtabmap::StereoCameraModel::load</a></div><div class="ttdeci">bool load(const std::string &amp;directory, const std::string &amp;cameraName, bool ignoreStereoTransform=true, bool initRectificationMaps=true)</div><div class="ttdoc">Loads stereo camera calibration data from disk.</div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_aa35a73db2fc272f0f33b40220b75fa43"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#aa35a73db2fc272f0f33b40220b75fa43">rtabmap::StereoCameraModel::isRectificationMapInitialized</a></div><div class="ttdeci">bool isRectificationMapInitialized() const</div><div class="ttdoc">Returns true if rectification maps are initialized.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00239">StereoCameraModel.h:239</a></div></div>
2026-09-22 22:05:02 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_ab8061141407d8cc55d7f83211708af85"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#ab8061141407d8cc55d7f83211708af85">rtabmap::StereoCameraModel::right</a></div><div class="ttdeci">const CameraModel &amp; right() const</div><div class="ttdoc">Returns the right camera model.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00551">StereoCameraModel.h:551</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_abfafd0a24795186f3bf623082663b4cd"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#abfafd0a24795186f3bf623082663b4cd">rtabmap::StereoCameraModel::save</a></div><div class="ttdeci">bool save(const std::string &amp;directory, bool ignoreStereoTransform=true) const</div><div class="ttdoc">Saves stereo camera calibration data to disk.</div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_ac2fb1c489ae60bd7e4c104515db3c3a9"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#ac2fb1c489ae60bd7e4c104515db3c3a9">rtabmap::StereoCameraModel::roi</a></div><div class="ttdeci">void roi(const cv::Rect &amp;roi)</div><div class="ttdoc">Applies region-of-interest (ROI) cropping to both cameras.</div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_ac5e22eec7815cb27e436afada2b5769f"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#ac5e22eec7815cb27e436afada2b5769f">rtabmap::StereoCameraModel::isValidForRectification</a></div><div class="ttdeci">bool isValidForRectification() const</div><div class="ttdoc">Returns true if both left and right models are valid for rectification.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00229">StereoCameraModel.h:229</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_adc404f0be63eedd0e0a9d6d5b5b36a94"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#adc404f0be63eedd0e0a9d6d5b5b36a94">rtabmap::StereoCameraModel::setName</a></div><div class="ttdeci">void setName(const std::string &amp;name, const std::string &amp;leftSuffix=&quot;left&quot;, const std::string &amp;rightSuffix=&quot;right&quot;)</div><div class="ttdoc">Sets the camera name and optional image suffixes for the left and right cameras.</div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_ae759fe4ff0862f5305cf85257e0367a1"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#ae759fe4ff0862f5305cf85257e0367a1">rtabmap::StereoCameraModel::name</a></div><div class="ttdeci">const std::string &amp; name() const</div><div class="ttdoc">Gets the camera name.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00258">StereoCameraModel.h:258</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_ae91c2717319f3cd7b6f40768e5adbb9f"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#ae91c2717319f3cd7b6f40768e5adbb9f">rtabmap::StereoCameraModel::StereoCameraModel</a></div><div class="ttdeci">StereoCameraModel(const std::string &amp;name, const CameraModel &amp;leftCameraModel, const CameraModel &amp;rightCameraModel, const cv::Mat &amp;R=cv::Mat(), const cv::Mat &amp;T=cv::Mat(), const cv::Mat &amp;E=cv::Mat(), const cv::Mat &amp;F=cv::Mat())</div><div class="ttdoc">Constructs a StereoCameraModel from two individual camera models and optional stereo extrinsic parame...</div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_aecf8b2a628ead0bc422dbf791d683f5b"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#aecf8b2a628ead0bc422dbf791d683f5b">rtabmap::StereoCameraModel::computeDisparity</a></div><div class="ttdeci">float computeDisparity(float depth) const</div><div class="ttdoc">Computes the disparity value from a given depth.</div></div>
2026-09-22 22:05:02 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_aee77882ceca428a560f5fd3713a330fb"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#aee77882ceca428a560f5fd3713a330fb">rtabmap::StereoCameraModel::setLocalTransform</a></div><div class="ttdeci">void setLocalTransform(const Transform &amp;transform)</div><div class="ttdoc">Sets the local transform from left camera to robot base.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00511">StereoCameraModel.h:511</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_afaa6d8cf4c9b503cc8c8a03fb25ecdf3"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#afaa6d8cf4c9b503cc8c8a03fb25ecdf3">rtabmap::StereoCameraModel::~StereoCameraModel</a></div><div class="ttdeci">virtual ~StereoCameraModel()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition</b> <a href="StereoCameraModel_8h_source.html#l00219">StereoCameraModel.h:219</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoCameraModel_html_afdec3f5bab7ab9b4c339edaa30e639db"><div class="ttname"><a href="classrtabmap_1_1StereoCameraModel.html#afdec3f5bab7ab9b4c339edaa30e639db">rtabmap::StereoCameraModel::deserialize</a></div><div class="ttdeci">unsigned int deserialize(const unsigned char *data, unsigned int dataSize)</div><div class="ttdoc">Deserializes stereo camera model data from a raw byte array.</div></div>
<div class="ttc" id="aclassrtabmap_1_1Transform_html"><div class="ttname"><a href="classrtabmap_1_1Transform.html">rtabmap::Transform</a></div><div class="ttdoc">Represents a 3D rigid body transformation (rotation + translation).</div><div class="ttdef"><b>Definition</b> <a href="Transform_8h_source.html#l00052">Transform.h:53</a></div></div>
2026-08-23 20:27:42 +00:00
<div class="ttc" id="anamespacertabmap_html"><div class="ttname"><a href="namespacertabmap.html">rtabmap</a></div><div class="ttdef"><b>Definition</b> <a href="BayesFilter_8h_source.html#l00042">BayesFilter.h:42</a></div></div>
2026-08-06 22:56:24 +00:00
<div class="ttc" id="anamespacertabmap_html_a087b7a1b89acb679edee23883653f1a7"><div class="ttname"><a href="namespacertabmap.html#a087b7a1b89acb679edee23883653f1a7">rtabmap::operator&lt;&lt;</a></div><div class="ttdeci">RTABMAP_CORE_EXPORT std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const CameraModel &amp;model)</div><div class="ttdoc">Stream operator for printing a camera model to an output stream.</div></div>
</div><!-- fragment --></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="dir_04d49acea3c42cab2afcd35cb2f2a48f.html">corelib</a></li><li class="navelem"><a class="el" href="dir_e996b11fd4b3a747423759b16a8ba4a6.html">include</a></li><li class="navelem"><a class="el" href="dir_ff01f7bc5399ccf9ff1cc91d1f45726a.html">rtabmap</a></li><li class="navelem"><a class="el" href="dir_884419f21456e80aa47bc1d0c2ab0140.html">core</a></li><li class="navelem"><b>StereoCameraModel.h</b></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>