Preview for PR #1492 c82721341cb6b9be5ea6c74e1c195f07d4187738

This commit is contained in:
github-actions[bot]
2026-08-02 07:56:38 +00:00
parent 6259cf4409
commit 9043c4a9aa
1083 changed files with 121946 additions and 11202 deletions
@@ -10,6 +10,10 @@
<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>
@@ -27,6 +31,7 @@
<td id="projectalign">
<div id="projectname">RTAB-Map<span id="projectnumber">&#160;0.23.10</span>
</div>
<div id="projectbrief">Real-Time Appearance-Based Mapping</div>
</td>
</tr>
</tbody>
@@ -55,6 +60,23 @@ $(function() {
$(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('util3d__features_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
@@ -76,11 +98,6 @@ $(document).ready(function() { init_codefold(0); });
</div>
</div>
<div id="nav-path" class="navpath">
<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> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">util3d_features.h</div></div>
</div><!--header-->
@@ -135,30 +152,30 @@ $(document).ready(function() { init_codefold(0); });
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="keyword">namespace </span>util3d</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span>{</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span>std::vector&lt;cv::Point3f&gt; RTABMAP_CORE_EXPORT generateKeypoints3DDepth(</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="namespacertabmap_1_1util3d.html#a785db0d55f5eccf209b9d3d712ec92b2"> 75</a></span>std::vector&lt;cv::Point3f&gt; RTABMAP_CORE_EXPORT <a class="code hl_function" href="namespacertabmap_1_1util3d.html#a785db0d55f5eccf209b9d3d712ec92b2">generateKeypoints3DDepth</a>(</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">const</span> std::vector&lt;cv::KeyPoint&gt; &amp; keypoints,</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">const</span> cv::Mat &amp; depth,</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">const</span> std::vector&lt;CameraModel&gt; &amp; cameraModels,</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">float</span> minDepth = 0,</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">float</span> maxDepth = 0);</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span>std::vector&lt;cv::Point3f&gt; RTABMAP_CORE_EXPORT generateKeypoints3DDepth(</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="namespacertabmap_1_1util3d.html#a4f938d094d62997e0fb5d53c59f7ef82"> 86</a></span>std::vector&lt;cv::Point3f&gt; RTABMAP_CORE_EXPORT <a class="code hl_function" href="namespacertabmap_1_1util3d.html#a785db0d55f5eccf209b9d3d712ec92b2">generateKeypoints3DDepth</a>(</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">const</span> std::vector&lt;cv::KeyPoint&gt; &amp; keypoints,</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">const</span> cv::Mat &amp; depth,</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">const</span> CameraModel &amp; cameraModel,</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp; cameraModel,</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">float</span> minDepth = 0,</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">float</span> maxDepth = 0);</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span>std::vector&lt;cv::Point3f&gt; RTABMAP_CORE_EXPORT generateKeypoints3DDisparity(</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="namespacertabmap_1_1util3d.html#af34bc7763a1e077a3520f4952ed9d196"> 116</a></span>std::vector&lt;cv::Point3f&gt; RTABMAP_CORE_EXPORT <a class="code hl_function" href="namespacertabmap_1_1util3d.html#af34bc7763a1e077a3520f4952ed9d196">generateKeypoints3DDisparity</a>(</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">const</span> std::vector&lt;cv::KeyPoint&gt; &amp; keypoints,</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">const</span> cv::Mat &amp; disparity,</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">const</span> StereoCameraModel &amp; stereoCameraModel,</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a> &amp; stereoCameraModel,</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">float</span> minDepth = 0,</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">float</span> maxDepth = 0);</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span>std::vector&lt;cv::Point3f&gt; RTABMAP_CORE_EXPORT generateKeypoints3DStereo(</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="namespacertabmap_1_1util3d.html#a7d48db86fe2f0cfc9abc974a66be8695"> 153</a></span>std::vector&lt;cv::Point3f&gt; RTABMAP_CORE_EXPORT <a class="code hl_function" href="namespacertabmap_1_1util3d.html#a7d48db86fe2f0cfc9abc974a66be8695">generateKeypoints3DStereo</a>(</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">const</span> std::vector&lt;cv::Point2f&gt; &amp; leftCorners,</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">const</span> std::vector&lt;cv::Point2f&gt; &amp; rightCorners,</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">const</span> StereoCameraModel &amp; model,</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <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="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keyword">const</span> std::vector&lt;unsigned char&gt; &amp; mask = std::vector&lt;unsigned char&gt;(),</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordtype">float</span> minDepth = 0,</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">float</span> maxDepth = 0);</div>
@@ -166,8 +183,8 @@ $(document).ready(function() { init_codefold(0); });
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span>std::map&lt;int, cv::Point3f&gt; RTABMAP_CORE_EXPORT generateWords3DMono(</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">const</span> std::map&lt;int, cv::KeyPoint&gt; &amp; kpts,</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">const</span> std::map&lt;int, cv::KeyPoint&gt; &amp; previousKpts,</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keyword">const</span> CameraModel &amp; cameraModel,</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> Transform &amp; cameraTransform,</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keyword">const</span> <a class="code hl_class" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &amp; cameraModel,</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <a class="code hl_class" href="classrtabmap_1_1Transform.html">Transform</a> &amp; cameraTransform,</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">float</span> ransacReprojThreshold = 3.0f,</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">float</span> ransacConfidence = 0.99f,</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">int</span> varianceMedianRatio = 4,</div>
@@ -175,7 +192,7 @@ $(document).ready(function() { init_codefold(0); });
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">double</span> * variance = 0,</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> std::vector&lt;int&gt; * matchesOut = 0);</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span>std::multimap&lt;int, cv::KeyPoint&gt; RTABMAP_CORE_EXPORT aggregate(</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="namespacertabmap_1_1util3d.html#acc3c59044fcfdb8cc1fba8a41a0e9eab"> 190</a></span>std::multimap&lt;int, cv::KeyPoint&gt; RTABMAP_CORE_EXPORT <a class="code hl_function" href="namespacertabmap_1_1util3d.html#acc3c59044fcfdb8cc1fba8a41a0e9eab">aggregate</a>(</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keyword">const</span> std::list&lt;int&gt; &amp; wordIds,</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">const</span> std::vector&lt;cv::KeyPoint&gt; &amp; keypoints);</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> </div>
@@ -183,11 +200,22 @@ $(document).ready(function() { init_codefold(0); });
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span>} <span class="comment">// namespace rtabmap</span></div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> </div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span><span class="preprocessor">#endif </span><span class="comment">/* UTIL3D_FEATURES_H_ */</span><span class="preprocessor"></span></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>
<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>
<div class="ttc" id="anamespacertabmap_1_1util3d_html_a785db0d55f5eccf209b9d3d712ec92b2"><div class="ttname"><a href="namespacertabmap_1_1util3d.html#a785db0d55f5eccf209b9d3d712ec92b2">rtabmap::util3d::generateKeypoints3DDepth</a></div><div class="ttdeci">std::vector&lt; cv::Point3f &gt; RTABMAP_CORE_EXPORT generateKeypoints3DDepth(const std::vector&lt; cv::KeyPoint &gt; &amp;keypoints, const cv::Mat &amp;depth, const std::vector&lt; CameraModel &gt; &amp;cameraModels, float minDepth=0, float maxDepth=0)</div><div class="ttdoc">Projects 2D keypoints to 3D space using the provided depth image and camera models.</div></div>
<div class="ttc" id="anamespacertabmap_1_1util3d_html_a7d48db86fe2f0cfc9abc974a66be8695"><div class="ttname"><a href="namespacertabmap_1_1util3d.html#a7d48db86fe2f0cfc9abc974a66be8695">rtabmap::util3d::generateKeypoints3DStereo</a></div><div class="ttdeci">std::vector&lt; cv::Point3f &gt; RTABMAP_CORE_EXPORT generateKeypoints3DStereo(const std::vector&lt; cv::Point2f &gt; &amp;leftCorners, const std::vector&lt; cv::Point2f &gt; &amp;rightCorners, const StereoCameraModel &amp;model, const std::vector&lt; unsigned char &gt; &amp;mask=std::vector&lt; unsigned char &gt;(), float minDepth=0, float maxDepth=0)</div><div class="ttdoc">Computes 3D keypoints from corresponding 2D points in a stereo image pair.</div></div>
<div class="ttc" id="anamespacertabmap_1_1util3d_html_acc3c59044fcfdb8cc1fba8a41a0e9eab"><div class="ttname"><a href="namespacertabmap_1_1util3d.html#acc3c59044fcfdb8cc1fba8a41a0e9eab">rtabmap::util3d::aggregate</a></div><div class="ttdeci">std::multimap&lt; int, cv::KeyPoint &gt; RTABMAP_CORE_EXPORT aggregate(const std::list&lt; int &gt; &amp;wordIds, const std::vector&lt; cv::KeyPoint &gt; &amp;keypoints)</div><div class="ttdoc">Aggregates word IDs and corresponding keypoints into a multimap.</div></div>
<div class="ttc" id="anamespacertabmap_1_1util3d_html_af34bc7763a1e077a3520f4952ed9d196"><div class="ttname"><a href="namespacertabmap_1_1util3d.html#af34bc7763a1e077a3520f4952ed9d196">rtabmap::util3d::generateKeypoints3DDisparity</a></div><div class="ttdeci">std::vector&lt; cv::Point3f &gt; RTABMAP_CORE_EXPORT generateKeypoints3DDisparity(const std::vector&lt; cv::KeyPoint &gt; &amp;keypoints, const cv::Mat &amp;disparity, const StereoCameraModel &amp;stereoCameraModel, float minDepth=0, float maxDepth=0)</div><div class="ttdoc">Projects 2D keypoints into 3D space using a disparity image and a stereo camera model.</div></div>
<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#l00039">BayesFilter.h:39</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
<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>util3d_features.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>