mirror of
https://github.com/introlab/rtabmap.git
synced 2026-10-07 18:47:48 +08:00
Update documentation (latest) aa95581cd2
This commit is contained in:
@@ -33,7 +33,7 @@
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">RTAB-Map<span id="projectnumber"> 0.23.13</span>
|
||||
<div id="projectname">RTAB-Map<span id="projectnumber"> 0.24.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">Real-Time Appearance-Based Mapping</div>
|
||||
</td>
|
||||
@@ -511,9 +511,11 @@ Functions</h2></td></tr>
|
||||
<tr class="memitem:a087b7a1b89acb679edee23883653f1a7" id="r_a087b7a1b89acb679edee23883653f1a7"><td class="memItemLeft" align="right" valign="top">RTABMAP_CORE_EXPORT std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacertabmap.html#a087b7a1b89acb679edee23883653f1a7">operator<<</a> (std::ostream &os, const <a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> &model)</td></tr>
|
||||
<tr class="memdesc:a087b7a1b89acb679edee23883653f1a7"><td class="mdescLeft"> </td><td class="mdescRight">Stream operator for printing a camera model to an output stream. <br /></td></tr>
|
||||
<tr class="separator:a087b7a1b89acb679edee23883653f1a7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a52beb14eea422420c95fd69bdf3ab9dc" id="r_a52beb14eea422420c95fd69bdf3ab9dc"><td class="memItemLeft" align="right" valign="top"><a id="a52beb14eea422420c95fd69bdf3ab9dc" name="a52beb14eea422420c95fd69bdf3ab9dc"></a>
|
||||
std::vector< unsigned char > RTABMAP_CORE_EXPORT </td><td class="memItemRight" valign="bottom"><b>compressImage</b> (const cv::Mat &image, const std::string &format=".png")</td></tr>
|
||||
<tr class="memdesc:a52beb14eea422420c95fd69bdf3ab9dc"><td class="mdescLeft"> </td><td class="mdescRight">Encodes <code>image</code> to a byte buffer (OpenCV <code>imencode</code> or RVL for depth). <br /></td></tr>
|
||||
<tr class="memitem:ac1d5a5ac072d725e236431b21946dc98" id="r_ac1d5a5ac072d725e236431b21946dc98"><td class="memItemLeft" align="right" valign="top">bool RTABMAP_CORE_EXPORT </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacertabmap.html#ac1d5a5ac072d725e236431b21946dc98">parseImageCompressionFormat</a> (const std::string &format, std::string &codec, float &maxDepth, float &quantization)</td></tr>
|
||||
<tr class="memdesc:ac1d5a5ac072d725e236431b21946dc98"><td class="mdescLeft"> </td><td class="mdescRight">Parses an image compression format "<codec>[:<maxDepth>[:<quantization>]]". <br /></td></tr>
|
||||
<tr class="separator:ac1d5a5ac072d725e236431b21946dc98"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a52beb14eea422420c95fd69bdf3ab9dc" id="r_a52beb14eea422420c95fd69bdf3ab9dc"><td class="memItemLeft" align="right" valign="top">std::vector< unsigned char > RTABMAP_CORE_EXPORT </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacertabmap.html#a52beb14eea422420c95fd69bdf3ab9dc">compressImage</a> (const cv::Mat &image, const std::string &format=".png")</td></tr>
|
||||
<tr class="memdesc:a52beb14eea422420c95fd69bdf3ab9dc"><td class="mdescLeft"> </td><td class="mdescRight">Encodes <code>image</code> to a byte buffer (OpenCV <code>imencode</code> or RVL for depth). <br /></td></tr>
|
||||
<tr class="separator:a52beb14eea422420c95fd69bdf3ab9dc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abd9d5523210562abd9b5dc8fa9dbeb99" id="r_abd9d5523210562abd9b5dc8fa9dbeb99"><td class="memItemLeft" align="right" valign="top"><a id="abd9d5523210562abd9b5dc8fa9dbeb99" name="abd9d5523210562abd9b5dc8fa9dbeb99"></a>
|
||||
cv::Mat RTABMAP_CORE_EXPORT </td><td class="memItemRight" valign="bottom"><b>compressImage2</b> (const cv::Mat &image, const std::string &format=".png")</td></tr>
|
||||
@@ -527,6 +529,10 @@ cv::Mat RTABMAP_CORE_EXPORT </td><td class="memItemRight" valign="bottom"><
|
||||
cv::Mat RTABMAP_CORE_EXPORT </td><td class="memItemRight" valign="bottom"><b>uncompressImage</b> (const std::vector< unsigned char > &bytes)</td></tr>
|
||||
<tr class="memdesc:af56ea8b86f7a873959588d35a7ede187"><td class="mdescLeft"> </td><td class="mdescRight">Decodes compressed image bytes to a @cv::Mat. <br /></td></tr>
|
||||
<tr class="separator:af56ea8b86f7a873959588d35a7ede187"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab82c2ccce0996793c20ace4b13670711" id="r_ab82c2ccce0996793c20ace4b13670711"><td class="memItemLeft" align="right" valign="top"><a id="ab82c2ccce0996793c20ace4b13670711" name="ab82c2ccce0996793c20ace4b13670711"></a>
|
||||
cv::Mat RTABMAP_CORE_EXPORT </td><td class="memItemRight" valign="bottom"><b>uncompressImage</b> (const unsigned char *bytes, size_t size)</td></tr>
|
||||
<tr class="memdesc:ab82c2ccce0996793c20ace4b13670711"><td class="mdescLeft"> </td><td class="mdescRight">Decodes compressed image bytes to a @cv::Mat. <br /></td></tr>
|
||||
<tr class="separator:ab82c2ccce0996793c20ace4b13670711"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a749adef593d09b887926afb6ebdb5834" id="r_a749adef593d09b887926afb6ebdb5834"><td class="memItemLeft" align="right" valign="top"><a id="a749adef593d09b887926afb6ebdb5834" name="a749adef593d09b887926afb6ebdb5834"></a>
|
||||
std::vector< unsigned char > RTABMAP_CORE_EXPORT </td><td class="memItemRight" valign="bottom"><b>compressData</b> (const cv::Mat &data)</td></tr>
|
||||
<tr class="memdesc:a749adef593d09b887926afb6ebdb5834"><td class="mdescLeft"> </td><td class="mdescRight">Compresses a matrix with zlib; appends rows, cols and type at the end. <br /></td></tr>
|
||||
@@ -626,6 +632,18 @@ Variables</h2></td></tr>
|
||||
<tr class="memitem:a02e773b48c5ac372ce67fe4e040d835d" id="r_a02e773b48c5ac372ce67fe4e040d835d"><td class="memItemLeft" align="right" valign="top">RTABMAP_DEPRECATED typedef <a class="el" href="classrtabmap_1_1SensorEvent.html">SensorEvent</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacertabmap.html#a02e773b48c5ac372ce67fe4e040d835d">CameraEvent</a></td></tr>
|
||||
<tr class="memdesc:a02e773b48c5ac372ce67fe4e040d835d"><td class="mdescLeft"> </td><td class="mdescRight">Backward compatibility typedef. <br /></td></tr>
|
||||
<tr class="separator:a02e773b48c5ac372ce67fe4e040d835d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af79397e4c11daefaf353d14f943ae479" id="r_af79397e4c11daefaf353d14f943ae479"><td class="memItemLeft" align="right" valign="top">const char </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacertabmap.html#af79397e4c11daefaf353d14f943ae479">kCompressedDepthRvlSignature</a> [8] = {'D', 'E', 'P', 'T', 'H', 'R', 'V', 'L'}</td></tr>
|
||||
<tr class="memdesc:af79397e4c11daefaf353d14f943ae479"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classrtabmap_1_1Signature.html" title="Represents a node in RTAB-Map's pose graph.">Signature</a> of the ".rvl" layout (8 bytes, not null-terminated). <br /></td></tr>
|
||||
<tr class="separator:af79397e4c11daefaf353d14f943ae479"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aaad2804128bde2d3e29f7e76ef4ccd9d" id="r_aaad2804128bde2d3e29f7e76ef4ccd9d"><td class="memItemLeft" align="right" valign="top">const size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacertabmap.html#aaad2804128bde2d3e29f7e76ef4ccd9d">kCompressedDepthRvlHeaderSize</a> = 16</td></tr>
|
||||
<tr class="memdesc:aaad2804128bde2d3e29f7e76ef4ccd9d"><td class="mdescLeft"> </td><td class="mdescRight">Size of the ".rvl" header: signature, uint32 cols, uint32 rows. <br /></td></tr>
|
||||
<tr class="separator:aaad2804128bde2d3e29f7e76ef4ccd9d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae70d840d2253bf8e575122336b51ee9b" id="r_ae70d840d2253bf8e575122336b51ee9b"><td class="memItemLeft" align="right" valign="top">const char </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacertabmap.html#ae70d840d2253bf8e575122336b51ee9b">kCompressedDepthInvSignature</a> [8] = {'D', 'E', 'P', 'T', 'H', 'I', 'N', 'V'}</td></tr>
|
||||
<tr class="memdesc:ae70d840d2253bf8e575122336b51ee9b"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classrtabmap_1_1Signature.html" title="Represents a node in RTAB-Map's pose graph.">Signature</a> of the inverse depth layout (8 bytes, not null-terminated). <br /></td></tr>
|
||||
<tr class="separator:ae70d840d2253bf8e575122336b51ee9b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6fe0f42207f43d29b6aa013e1a57fb6c" id="r_a6fe0f42207f43d29b6aa013e1a57fb6c"><td class="memItemLeft" align="right" valign="top">const size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacertabmap.html#a6fe0f42207f43d29b6aa013e1a57fb6c">kCompressedDepthInvHeaderSize</a> = 16</td></tr>
|
||||
<tr class="memdesc:a6fe0f42207f43d29b6aa013e1a57fb6c"><td class="mdescLeft"> </td><td class="mdescRight">Size of the inverse depth header: signature, float depthQuantA, float depthQuantB. <br /></td></tr>
|
||||
<tr class="separator:a6fe0f42207f43d29b6aa013e1a57fb6c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Contributed by e-consystemgit <a href="https://www.e-consystems.com/opensource-linux-webcam-software-application.asp">https://www.e-consystems.com/opensource-linux-webcam-software-application.asp</a> </p>
|
||||
@@ -765,6 +783,94 @@ Variables</h2></td></tr>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The modified output stream. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ac1d5a5ac072d725e236431b21946dc98" name="ac1d5a5ac072d725e236431b21946dc98"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac1d5a5ac072d725e236431b21946dc98">◆ </a></span>parseImageCompressionFormat()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool RTABMAP_CORE_EXPORT rtabmap::parseImageCompressionFormat </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const std::string & </td>
|
||||
<td class="paramname"><em>format</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">std::string & </td>
|
||||
<td class="paramname"><em>codec</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">float & </td>
|
||||
<td class="paramname"><em>maxDepth</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">float & </td>
|
||||
<td class="paramname"><em>quantization</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Parses an image compression format "<codec>[:<maxDepth>[:<quantization>]]". </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">format</td><td>Format, e.g., <code>".jpg"</code>, <code>".png"</code>, <code>".rvl"</code>, <code>".png:10"</code> or <code>".rvl:20:100"</code>. The empty format is valid (general zlib compression, see <a class="el" href="classrtabmap_1_1CompressionThread.html">CompressionThread</a>). </td></tr>
|
||||
<tr><td class="paramname">codec</td><td>Output codec (e.g., <code>".png"</code>). </td></tr>
|
||||
<tr><td class="paramname">maxDepth</td><td>Output maximum depth (m) of the inverse depth format, 0 if not set. </td></tr>
|
||||
<tr><td class="paramname">quantization</td><td>Output depth quantization of the inverse depth format (100 if not set but <code>maxDepth</code> is), 0 if <code>maxDepth</code> is not set. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>false if the format is invalid. The inverse depth parameters are only valid with <code>".png"</code> and <code>".rvl"</code>, and should be positive. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a52beb14eea422420c95fd69bdf3ab9dc" name="a52beb14eea422420c95fd69bdf3ab9dc"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a52beb14eea422420c95fd69bdf3ab9dc">◆ </a></span>compressImage()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::vector< unsigned char > RTABMAP_CORE_EXPORT rtabmap::compressImage </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const cv::Mat & </td>
|
||||
<td class="paramname"><em>image</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const std::string & </td>
|
||||
<td class="paramname"><em>format</em> = <code>".png"</code> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Encodes <code>image</code> to a byte buffer (OpenCV <code>imencode</code> or RVL for depth). </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">format</td><td><code>".png"</code>, <code>".jpg"</code> or <code>".rvl"</code> (16UC1 only), optionally followed by <code>":<maxDepth>[:<quantization>]"</code> (see <a class="el" href="namespacertabmap.html#ac1d5a5ac072d725e236431b21946dc98">parseImageCompressionFormat()</a>). For 32FC1 depth images, if <code>maxDepth</code> is set, depth is quantized on 16 bits as inverse depth (as ROS's <code>compressed_depth_image_transport</code>) and compressed with the codec. With A=quantization*(quantization+1) and B=1-A/maxDepth, the precision is ~d^2/(2A), and depth values over <code>maxDepth</code> or under A/(65535-B) are lost (set to 0). For example, ".png:10:100" keeps depth between 0.15 and 10 m with errors of 0.05 mm at 1 m and 5 mm at 10 m. Otherwise, 32FC1 depth images are compressed losslessly as 4-channel 8 bits PNG (legacy format). Other image types ignore the depth parameters. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a67c525e80a7187b3106e5fd76155cabc" name="a67c525e80a7187b3106e5fd76155cabc"></a>
|
||||
@@ -784,7 +890,7 @@ Variables</h2></td></tr>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Detects the compression format of depth image bytes. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd><code>".rvl"</code> if the buffer has an RVL signature, otherwise <code>".png"</code>. </dd></dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd><code>".rvl"</code> if the buffer has an RVL signature, <code>".png:<maxDepth>:<quantization>"</code> or <code>".rvl:<maxDepth>:<quantization>"</code> for inverse depth images (see <a class="el" href="namespacertabmap.html#a52beb14eea422420c95fd69bdf3ab9dc">compressImage()</a>), otherwise <code>".png"</code>. The returned format can be passed back to <a class="el" href="namespacertabmap.html#a52beb14eea422420c95fd69bdf3ab9dc">compressImage()</a> to compress in the same format. </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -1463,6 +1569,78 @@ Variables</h2></td></tr>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="SensorEvent_8h_source.html#l00207">207</a> of file <a class="el" href="SensorEvent_8h_source.html">SensorEvent.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="af79397e4c11daefaf353d14f943ae479" name="af79397e4c11daefaf353d14f943ae479"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af79397e4c11daefaf353d14f943ae479">◆ </a></span>kCompressedDepthRvlSignature</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">const char rtabmap::kCompressedDepthRvlSignature[8] = {'D', 'E', 'P', 'T', 'H', 'R', 'V', 'L'}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p><a class="el" href="classrtabmap_1_1Signature.html" title="Represents a node in RTAB-Map's pose graph.">Signature</a> of the ".rvl" layout (8 bytes, not null-terminated). </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="Compression_8h_source.html#l00118">118</a> of file <a class="el" href="Compression_8h_source.html">Compression.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="aaad2804128bde2d3e29f7e76ef4ccd9d" name="aaad2804128bde2d3e29f7e76ef4ccd9d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aaad2804128bde2d3e29f7e76ef4ccd9d">◆ </a></span>kCompressedDepthRvlHeaderSize</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">const size_t rtabmap::kCompressedDepthRvlHeaderSize = 16</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Size of the ".rvl" header: signature, uint32 cols, uint32 rows. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="Compression_8h_source.html#l00120">120</a> of file <a class="el" href="Compression_8h_source.html">Compression.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ae70d840d2253bf8e575122336b51ee9b" name="ae70d840d2253bf8e575122336b51ee9b"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae70d840d2253bf8e575122336b51ee9b">◆ </a></span>kCompressedDepthInvSignature</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">const char rtabmap::kCompressedDepthInvSignature[8] = {'D', 'E', 'P', 'T', 'H', 'I', 'N', 'V'}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p><a class="el" href="classrtabmap_1_1Signature.html" title="Represents a node in RTAB-Map's pose graph.">Signature</a> of the inverse depth layout (8 bytes, not null-terminated). </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="Compression_8h_source.html#l00122">122</a> of file <a class="el" href="Compression_8h_source.html">Compression.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a6fe0f42207f43d29b6aa013e1a57fb6c" name="a6fe0f42207f43d29b6aa013e1a57fb6c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a6fe0f42207f43d29b6aa013e1a57fb6c">◆ </a></span>kCompressedDepthInvHeaderSize</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">const size_t rtabmap::kCompressedDepthInvHeaderSize = 16</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Size of the inverse depth header: signature, float depthQuantA, float depthQuantB. </p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="Compression_8h_source.html#l00124">124</a> of file <a class="el" href="Compression_8h_source.html">Compression.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
|
||||
Reference in New Issue
Block a user