Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 6769

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Multiresolution SIFTs (experimental)</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Multiresolution SIFTs (experimental)</div>  </div>
<div class="ingroups"><a class="el" href="group__mrpt__vision__grp.html">[mrpt-vision]</a></div></div>
<div class="contents">
<div class="dynheader">
Collaboration diagram for Multiresolution SIFTs (experimental):</div>
<div class="dyncontent">
<center><table><tr><td><img src="group__multidesc__desc.png" border="0" alt="" usemap="#group____multidesc____desc"/>
<map name="group____multidesc____desc" id="group____multidesc____desc">
<area shape="rect" id="node2" href="group__mrpt__vision__grp.html" title=" Back to list of all libraries | See all modules &#160;&#160;" alt="" coords="6,5,101,32"/></map>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classstd_1_1map.html">map</a>&lt; int, <a class="el" href="classstd_1_1map.html">map</a>&lt; int, <br class="typebreak"/>
<a class="el" href="classstd_1_1map.html">map</a>&lt; int, <a class="el" href="classstd_1_1deque.html">deque</a>&lt; pair<br class="typebreak"/>
&lt; TFeatureID, double &gt; &gt; &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga41037b24d1ac7f592da18b441b758bec">mrpt::vision::TQuantizationTable</a></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga1192dd875ff5377721d4e1e47a818651">mrpt::vision::saveQTableToFile</a> (const TQuantizationTable &amp;qTable, const <a class="el" href="classstd_1_1string.html">string</a> &amp;filename)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga43a6a0148c61c2796ceabf89ed97b420">mrpt::vision::insertHashCoeffs</a> (const CFeaturePtr &amp;feat, TQuantizationTable &amp;qTable)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">TMultiResMatchingOutput <br class="typebreak"/>
VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#gab519c693125be233d24d2e14c436c05c">mrpt::vision::relocalizeMultiDesc</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;image, CFeatureList &amp;baseList, CFeatureList &amp;currentList, TQuantizationTable &amp;qTable, const TMultiResDescOptions &amp;desc_opts, const TMultiResDescMatchOptions &amp;match_opts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga7b2922d335bc23255386e17b7bab4de8">mrpt::vision::updateBaseList</a> (CFeatureList &amp;baseList, const CFeatureList &amp;currentList, const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; int &gt; &amp;idx)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga17d86ac8a6a1497c56e402ae0f44865c">mrpt::vision::checkScalesAndFindMore</a> (CMatchedFeatureList &amp;baseList, const CFeatureList &amp;currentList, const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;currentImage, const TMultiResMatchingOutput &amp;output, const TMultiResDescOptions &amp;computeOpts, const TMultiResDescMatchOptions &amp;matchOpts)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga95a6e927520f9a71ede6e866de72ec97">mrpt::vision::computeGradient</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;image, const unsigned int x, const unsigned int y, double &amp;mag, double &amp;ori)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the gradient of certain pixel within the image.  <a href="#ga95a6e927520f9a71ede6e866de72ec97"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga5138d7cd167f43089bc8cf87c37a6704">mrpt::vision::computeMainOrientations</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;image, const unsigned int x, const unsigned int y, const unsigned int patchSize, <a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;orientations, const double &amp;sigma)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the main orientations (within 80% of the peak value of orientation histogram) of a certain point within an image (for using in SIFT-based algorithms)  <a href="#ga5138d7cd167f43089bc8cf87c37a6704"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#gad6ff934e65fba3238dd95d9a6b7d849c">mrpt::vision::interpolateHistEntry</a> (<a class="el" href="classstd_1_1vector.html">vector</a>&lt; double &gt; &amp;hist, const double &amp;cbin, const double &amp;rbin, const double &amp;obin, const double &amp;mag, const int d, const int n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts the orientation value of a certain pixel within the keypoint neighbourhood into the histogram of orientations.  <a href="#gad6ff934e65fba3238dd95d9a6b7d849c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga189b8b1dd1a693d55d1f9618440ac0b0">mrpt::vision::computeHistogramOfOrientations</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;image, const unsigned int x, const unsigned int y, const unsigned int patchSize, const double &amp;orientation, <a class="el" href="classstd_1_1vector.html">vector</a>&lt; int32_t &gt; &amp;descriptor, const TMultiResDescOptions &amp;opts, <a class="el" href="classstd_1_1vector.html">vector</a>&lt; int32_t &gt; &amp;hashCoeffs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the SIFT-like descriptor of a certain point within an image at the base scale, i.e.  <a href="#ga189b8b1dd1a693d55d1f9618440ac0b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">TMultiResMatchingOutput <br class="typebreak"/>
VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga4c87a8b7a04a618213e904d41c901d78">mrpt::vision::matchMultiResolutionFeatures</a> (const CFeatureList &amp;list1, CFeatureList &amp;list2, const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;rightImage, const TMultiResDescMatchOptions &amp;matchOpts, const TMultiResDescOptions &amp;computeOpts)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Matches two <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html" title="A list of visual features, to be used as output by detectors, as input/output by trackers, etc.">CFeatureList</a> containing mulit-resolution descriptors.  <a href="#ga4c87a8b7a04a618213e904d41c901d78"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga6f5b85b8333c8f0f429237e1bdf3b212">mrpt::vision::matchMultiResolutionFeatures</a> (CMatchedFeatureList &amp;mList1, CMatchedFeatureList &amp;mList2, const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;leftImage, const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;rightImage, const TMultiResDescMatchOptions &amp;matchOpts, const TMultiResDescOptions &amp;computeOpts)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Matches two <a class="el" href="classmrpt_1_1vision_1_1_c_matched_feature_list.html" title="A list of features.">CMatchedFeatureList</a> containing mulit-resolution descriptors.  <a href="#ga6f5b85b8333c8f0f429237e1bdf3b212"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#gaaea42c5f805a29536003a5211fa82683">mrpt::vision::computeMoreDescriptors</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;image, const CFeaturePtr &amp;inputFeat, CFeaturePtr &amp;outputFeat, const bool &amp;lowerScales, const TMultiResDescOptions &amp;opts)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes more multi-resolution SIFT-like descriptors for a feature using its position in a new image.  <a href="#gaaea42c5f805a29536003a5211fa82683"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#gaae2d9ac74878f370cd26a17cf4a14725">mrpt::vision::setProperScales</a> (const CFeaturePtr &amp;feat1, const CFeaturePtr &amp;feat2, int &amp;firstScale, int &amp;lastScale)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the initial and final scales where to look when finding a match between multi-resolution features.  <a href="#gaae2d9ac74878f370cd26a17cf4a14725"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga51bfd8c21f7419e09d4dfd48f809eef5">mrpt::vision::computeMultiResolutionDescriptors</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;imageLeft, const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;imageRight, CMatchedFeatureList &amp;matchedFeats, const TMultiResDescOptions &amp;opts)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the multi-resolution SIFT-like descriptor of a set of matched features.  <a href="#ga51bfd8c21f7419e09d4dfd48f809eef5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga09c4a8812f69ad1b423e0c20f85d1f59">mrpt::vision::computeMultiResolutionDescriptors</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;image, CFeaturePtr &amp;feat, const TMultiResDescOptions &amp;opts)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the multi-resolution SIFT-like descriptor of a features.  <a href="#ga09c4a8812f69ad1b423e0c20f85d1f59"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; bool &gt; VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga471c1c31dedff2fbf273ae370b802485">mrpt::vision::computeMultiResolutionDescriptors</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;image, CFeatureList &amp;<a class="el" href="classstd_1_1list.html">list</a>, const TMultiResDescOptions &amp;opts)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the multi-resolution SIFT-like descriptor of a list of features.  <a href="#ga471c1c31dedff2fbf273ae370b802485"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void VISION_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multidesc__desc.html#ga3b64ea008fd90d187da7737a277407a9">mrpt::vision::computeMultiOrientations</a> (const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;image, CFeatureList &amp;<a class="el" href="classstd_1_1list.html">list</a>, const TMultiResDescOptions &amp;opts)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the multi-resolution SIFT-like descriptor of a list of features.  <a href="#ga3b64ea008fd90d187da7737a277407a9"></a><br/></td></tr>
</table>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ga41037b24d1ac7f592da18b441b758bec"></a><!-- doxytag: member="mrpt::vision::TQuantizationTable" ref="ga41037b24d1ac7f592da18b441b758bec" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classstd_1_1map.html">map</a>&lt;int,<a class="el" href="classstd_1_1map.html">map</a>&lt;int,<a class="el" href="classstd_1_1map.html">map</a>&lt;int,<a class="el" href="classstd_1_1deque.html">deque</a>&lt;pair&lt;TFeatureID, double&gt; &gt; &gt; &gt; &gt; <a class="el" href="group__multidesc__desc.html#ga41037b24d1ac7f592da18b441b758bec">mrpt::vision::TQuantizationTable</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="multi_desc__utils_8h_source.html#l00062">62</a> of file <a class="el" href="multi_desc__utils_8h_source.html">multiDesc_utils.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga17d86ac8a6a1497c56e402ae0f44865c"></a><!-- doxytag: member="mrpt::vision::checkScalesAndFindMore" ref="ga17d86ac8a6a1497c56e402ae0f44865c" args="(CMatchedFeatureList &amp;baseList, const CFeatureList &amp;currentList, const CImage &amp;currentImage, const TMultiResMatchingOutput &amp;output, const TMultiResDescOptions &amp;computeOpts, const TMultiResDescMatchOptions &amp;matchOpts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VISION_IMPEXP mrpt::vision::checkScalesAndFindMore </td>
          <td>(</td>
          <td class="paramtype">CMatchedFeatureList &amp;&#160;</td>
          <td class="paramname"><em>baseList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CFeatureList &amp;&#160;</td>
          <td class="paramname"><em>currentList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>currentImage</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResMatchingOutput &amp;&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescOptions &amp;&#160;</td>
          <td class="paramname"><em>computeOpts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescMatchOptions &amp;&#160;</td>
          <td class="paramname"><em>matchOpts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ga95a6e927520f9a71ede6e866de72ec97"></a><!-- doxytag: member="mrpt::vision::computeGradient" ref="ga95a6e927520f9a71ede6e866de72ec97" args="(const CImage &amp;image, const unsigned int x, const unsigned int y, double &amp;mag, double &amp;ori)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool VISION_IMPEXP mrpt::vision::computeGradient </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>mag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double &amp;&#160;</td>
          <td class="paramname"><em>ori</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the gradient of certain pixel within the image. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">image</td><td>[IN] The input image. </td></tr>
    <tr><td class="paramname">x</td><td>[IN] The 'x' coordinate of the image point. </td></tr>
    <tr><td class="paramname">y</td><td>[IN] The 'y' coordinate of the image point. </td></tr>
    <tr><td class="paramname">mag</td><td>[OUT] The magnitude of the gradient. </td></tr>
    <tr><td class="paramname">ori</td><td>[OUT] The orientation of the gradient. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the gradient could be computed and False if the pixel is located outside the image or at its border (where the gradient cannot be computed) </dd></dl>

</div>
</div>
<a class="anchor" id="ga189b8b1dd1a693d55d1f9618440ac0b0"></a><!-- doxytag: member="mrpt::vision::computeHistogramOfOrientations" ref="ga189b8b1dd1a693d55d1f9618440ac0b0" args="(const CImage &amp;image, const unsigned int x, const unsigned int y, const unsigned int patchSize, const double &amp;orientation, vector&lt; int32_t &gt; &amp;descriptor, const TMultiResDescOptions &amp;opts, vector&lt; int32_t &gt; &amp;hashCoeffs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VISION_IMPEXP mrpt::vision::computeHistogramOfOrientations </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>patchSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>orientation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; int32_t &gt; &amp;&#160;</td>
          <td class="paramname"><em>descriptor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescOptions &amp;&#160;</td>
          <td class="paramname"><em>opts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; int32_t &gt; &amp;&#160;</td>
          <td class="paramname"><em>hashCoeffs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the SIFT-like descriptor of a certain point within an image at the base scale, i.e. </p>
<p>its rotated orientation histogram. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">image</td><td>[IN] The input image. </td></tr>
    <tr><td class="paramname">x</td><td>[IN] The 'x' coordinate of the image point. </td></tr>
    <tr><td class="paramname">y</td><td>[IN] The 'y' coordinate of the image point. </td></tr>
    <tr><td class="paramname">patchSize</td><td>[IN] The size of the patch to be considered for computing the orientation histogram. </td></tr>
    <tr><td class="paramname">orientation</td><td>[IN] The orientation considered for this point (used to rotate the patch). </td></tr>
    <tr><td class="paramname">orientation</td><td>[OUT] The computed SIFT-like descriptor. </td></tr>
    <tr><td class="paramname">opts</td><td>[IN] The options for computing the SIFT-like descriptor. </td></tr>
    <tr><td class="paramname">hashCoeffs</td><td>[OUT] A vector containing the computed coefficients for the HASH table used in relocalization. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structmrpt_1_1vision_1_1_t_multi_res_desc_options.html" title="Struct containing the options when computing the multi-resolution SIFT-like descriptors.">TMultiResDescOptions</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga5138d7cd167f43089bc8cf87c37a6704"></a><!-- doxytag: member="mrpt::vision::computeMainOrientations" ref="ga5138d7cd167f43089bc8cf87c37a6704" args="(const CImage &amp;image, const unsigned int x, const unsigned int y, const unsigned int patchSize, std::vector&lt; double &gt; &amp;orientations, const double &amp;sigma)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool VISION_IMPEXP mrpt::vision::computeMainOrientations </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>patchSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">std::vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>orientations</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>sigma</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the main orientations (within 80% of the peak value of orientation histogram) of a certain point within an image (for using in SIFT-based algorithms) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">image</td><td>[IN] The input image. </td></tr>
    <tr><td class="paramname">x</td><td>[IN] The 'x' coordinate of the image point. </td></tr>
    <tr><td class="paramname">y</td><td>[IN] The 'y' coordinate of the image point. </td></tr>
    <tr><td class="paramname">patchSize</td><td>[IN] The size of the patch to be considered for computing the orientation histogram. </td></tr>
    <tr><td class="paramname">orientations</td><td>[OUT] A vector containing the main orientations of the image point. </td></tr>
    <tr><td class="paramname">sigma</td><td>[IN] The sigma value of the Gaussian kernel used to smooth the orientation histogram (typically 7.5 px). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaaea42c5f805a29536003a5211fa82683"></a><!-- doxytag: member="mrpt::vision::computeMoreDescriptors" ref="gaaea42c5f805a29536003a5211fa82683" args="(const CImage &amp;image, const CFeaturePtr &amp;inputFeat, CFeaturePtr &amp;outputFeat, const bool &amp;lowerScales, const TMultiResDescOptions &amp;opts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int VISION_IMPEXP mrpt::vision::computeMoreDescriptors </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CFeaturePtr &amp;&#160;</td>
          <td class="paramname"><em>inputFeat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CFeaturePtr &amp;&#160;</td>
          <td class="paramname"><em>outputFeat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool &amp;&#160;</td>
          <td class="paramname"><em>lowerScales</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescOptions &amp;&#160;</td>
          <td class="paramname"><em>opts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes more multi-resolution SIFT-like descriptors for a feature using its position in a new image. </p>
<p>This is called when we have found a match between a feature and itself in a new frame but it has been found in a boundary scale. We now expand the range of scales, orientations and descriptors for that feature. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">image</td><td>[IN] The new frame. </td></tr>
    <tr><td class="paramname">inputFeat</td><td>[IN] The feature in the new frame. </td></tr>
    <tr><td class="paramname">outputFeat</td><td>[OUT] The base feature (detected in the base frame). </td></tr>
    <tr><td class="paramname">lowerScales</td><td>[IN] If we should find descriptors for lower scales or for higher ones. </td></tr>
    <tr><td class="paramname">opts</td><td>[IN] The options for computing the new descriptors. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga3b64ea008fd90d187da7737a277407a9"></a><!-- doxytag: member="mrpt::vision::computeMultiOrientations" ref="ga3b64ea008fd90d187da7737a277407a9" args="(const CImage &amp;image, CFeatureList &amp;list, const TMultiResDescOptions &amp;opts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VISION_IMPEXP mrpt::vision::computeMultiOrientations </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CFeatureList &amp;&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescOptions &amp;&#160;</td>
          <td class="paramname"><em>opts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the multi-resolution SIFT-like descriptor of a list of features. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">image</td><td>[IN] The input image. </td></tr>
    <tr><td class="paramname">list</td><td>[IN/OUT] The list of features. They will be updated with the multi-scales, multi-orientations and multi-descriptors information. </td></tr>
    <tr><td class="paramname">opts</td><td>[IN] The options structure for the descriptor computation process. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structmrpt_1_1vision_1_1_t_multi_res_desc_options.html" title="Struct containing the options when computing the multi-resolution SIFT-like descriptors.">TMultiResDescOptions</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga51bfd8c21f7419e09d4dfd48f809eef5"></a><!-- doxytag: member="mrpt::vision::computeMultiResolutionDescriptors" ref="ga51bfd8c21f7419e09d4dfd48f809eef5" args="(const CImage &amp;imageLeft, const CImage &amp;imageRight, CMatchedFeatureList &amp;matchedFeats, const TMultiResDescOptions &amp;opts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VISION_IMPEXP mrpt::vision::computeMultiResolutionDescriptors </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>imageLeft</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>imageRight</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CMatchedFeatureList &amp;&#160;</td>
          <td class="paramname"><em>matchedFeats</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescOptions &amp;&#160;</td>
          <td class="paramname"><em>opts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the multi-resolution SIFT-like descriptor of a set of matched features. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">imageLeft</td><td>[IN] The input left image. </td></tr>
    <tr><td class="paramname">imageRight</td><td>[IN] The input right image. </td></tr>
    <tr><td class="paramname">matchedFeats</td><td>[IN/OUT] The list of matched features. They will be updated with the multi-scales, multi-orientations, multi-descriptors and depth information. </td></tr>
    <tr><td class="paramname">opts</td><td>[IN] The options structure for the descriptor computation process. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structmrpt_1_1vision_1_1_t_multi_res_desc_options.html" title="Struct containing the options when computing the multi-resolution SIFT-like descriptors.">TMultiResDescOptions</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga09c4a8812f69ad1b423e0c20f85d1f59"></a><!-- doxytag: member="mrpt::vision::computeMultiResolutionDescriptors" ref="ga09c4a8812f69ad1b423e0c20f85d1f59" args="(const CImage &amp;image, CFeaturePtr &amp;feat, const TMultiResDescOptions &amp;opts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool VISION_IMPEXP mrpt::vision::computeMultiResolutionDescriptors </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CFeaturePtr &amp;&#160;</td>
          <td class="paramname"><em>feat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescOptions &amp;&#160;</td>
          <td class="paramname"><em>opts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the multi-resolution SIFT-like descriptor of a features. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">image</td><td>[IN] The input left image. </td></tr>
    <tr><td class="paramname">feat</td><td>[IN/OUT] The feature. It will be updated with the multi-scales, multi-orientations, multi-descriptors </td></tr>
    <tr><td class="paramname">opts</td><td>[IN] The options structure for the descriptor computation process. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structmrpt_1_1vision_1_1_t_multi_res_desc_options.html" title="Struct containing the options when computing the multi-resolution SIFT-like descriptors.">TMultiResDescOptions</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga471c1c31dedff2fbf273ae370b802485"></a><!-- doxytag: member="mrpt::vision::computeMultiResolutionDescriptors" ref="ga471c1c31dedff2fbf273ae370b802485" args="(const CImage &amp;image, CFeatureList &amp;list, const TMultiResDescOptions &amp;opts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classstd_1_1vector.html">vector</a>&lt;bool&gt; VISION_IMPEXP mrpt::vision::computeMultiResolutionDescriptors </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CFeatureList &amp;&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescOptions &amp;&#160;</td>
          <td class="paramname"><em>opts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the multi-resolution SIFT-like descriptor of a list of features. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">image</td><td>[IN] The input image. </td></tr>
    <tr><td class="paramname">list</td><td>[IN/OUT] The list of features. They will be updated with the multi-scales, multi-orientations and multi-descriptors information. </td></tr>
    <tr><td class="paramname">opts</td><td>[IN] The options structure for the descriptor computation process. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structmrpt_1_1vision_1_1_t_multi_res_desc_options.html" title="Struct containing the options when computing the multi-resolution SIFT-like descriptors.">TMultiResDescOptions</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga43a6a0148c61c2796ceabf89ed97b420"></a><!-- doxytag: member="mrpt::vision::insertHashCoeffs" ref="ga43a6a0148c61c2796ceabf89ed97b420" args="(const CFeaturePtr &amp;feat, TQuantizationTable &amp;qTable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VISION_IMPEXP mrpt::vision::insertHashCoeffs </td>
          <td>(</td>
          <td class="paramtype">const CFeaturePtr &amp;&#160;</td>
          <td class="paramname"><em>feat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TQuantizationTable &amp;&#160;</td>
          <td class="paramname"><em>qTable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="gad6ff934e65fba3238dd95d9a6b7d849c"></a><!-- doxytag: member="mrpt::vision::interpolateHistEntry" ref="gad6ff934e65fba3238dd95d9a6b7d849c" args="(vector&lt; double &gt; &amp;hist, const double &amp;cbin, const double &amp;rbin, const double &amp;obin, const double &amp;mag, const int d, const int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VISION_IMPEXP mrpt::vision::interpolateHistEntry </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classstd_1_1vector.html">vector</a>&lt; double &gt; &amp;&#160;</td>
          <td class="paramname"><em>hist</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>cbin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>rbin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>obin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>mag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inserts the orientation value of a certain pixel within the keypoint neighbourhood into the histogram of orientations. </p>
<p>This value can affect to more than one entry within the histogram. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">hist</td><td>[IN/OUT] The histogram of orientations. </td></tr>
    <tr><td class="paramname">cbin</td><td>[IN] The entry rotated column bin. </td></tr>
    <tr><td class="paramname">rbin</td><td>[IN] The entry rotated row bin. </td></tr>
    <tr><td class="paramname">obin</td><td>[IN] The entry rotated orientation bin. </td></tr>
    <tr><td class="paramname">mag</td><td>[IN] The gradient magnitude value in the pixel. </td></tr>
    <tr><td class="paramname">d</td><td>[IN] The number of row (and column) bins used in the histogram (typically 4). </td></tr>
    <tr><td class="paramname">n</td><td>[IN] The number of orienation bins used in the histogram (typically 8). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4c87a8b7a04a618213e904d41c901d78"></a><!-- doxytag: member="mrpt::vision::matchMultiResolutionFeatures" ref="ga4c87a8b7a04a618213e904d41c901d78" args="(const CFeatureList &amp;list1, CFeatureList &amp;list2, const CImage &amp;rightImage, const TMultiResDescMatchOptions &amp;matchOpts, const TMultiResDescOptions &amp;computeOpts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TMultiResMatchingOutput VISION_IMPEXP mrpt::vision::matchMultiResolutionFeatures </td>
          <td>(</td>
          <td class="paramtype">const CFeatureList &amp;&#160;</td>
          <td class="paramname"><em>list1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CFeatureList &amp;&#160;</td>
          <td class="paramname"><em>list2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>rightImage</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescMatchOptions &amp;&#160;</td>
          <td class="paramname"><em>matchOpts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescOptions &amp;&#160;</td>
          <td class="paramname"><em>computeOpts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matches two <a class="el" href="classmrpt_1_1vision_1_1_c_feature_list.html" title="A list of visual features, to be used as output by detectors, as input/output by trackers, etc.">CFeatureList</a> containing mulit-resolution descriptors. </p>
<p>The first list is taken as a base, i.e. its features must contain multi-resolution descriptors at a set of different scales. The second list doesn't need to contain such information because it will be computed if necessary according to the the fulfillment of some restriction regarding the matching process. This function will try to find the best matches within list2 corresponding to the features within base list list1. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">list1</td><td>[IN] The base list of features. </td></tr>
    <tr><td class="paramname">list2</td><td>[IN/OUT] The other list of features. </td></tr>
    <tr><td class="paramname">rightImage</td><td>[IN] The image from where the list2 was extracted. It's used to compute the descriptor of these features if necessary. </td></tr>
    <tr><td class="paramname">output</td><td>[OUT] The output structure with the matching information. </td></tr>
    <tr><td class="paramname">matchOpts</td><td>[IN] The options structure for the matching process. </td></tr>
    <tr><td class="paramname">computeOpts</td><td>[IN] The options structure for the descriptor computation process. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A structure containing the results of the matching. </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structmrpt_1_1vision_1_1_t_multi_res_desc_match_options.html" title="Struct containing the options when matching multi-resolution SIFT-like descriptors.">TMultiResDescMatchOptions</a>, <a class="el" href="structmrpt_1_1vision_1_1_t_multi_res_desc_options.html" title="Struct containing the options when computing the multi-resolution SIFT-like descriptors.">TMultiResDescOptions</a>, <a class="el" href="structmrpt_1_1vision_1_1_t_multi_res_matching_output.html" title="Struct containing the output after matching multi-resolution SIFT-like descriptors.">TMultiResMatchingOutput</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga6f5b85b8333c8f0f429237e1bdf3b212"></a><!-- doxytag: member="mrpt::vision::matchMultiResolutionFeatures" ref="ga6f5b85b8333c8f0f429237e1bdf3b212" args="(CMatchedFeatureList &amp;mList1, CMatchedFeatureList &amp;mList2, const CImage &amp;leftImage, const CImage &amp;rightImage, const TMultiResDescMatchOptions &amp;matchOpts, const TMultiResDescOptions &amp;computeOpts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int VISION_IMPEXP mrpt::vision::matchMultiResolutionFeatures </td>
          <td>(</td>
          <td class="paramtype">CMatchedFeatureList &amp;&#160;</td>
          <td class="paramname"><em>mList1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CMatchedFeatureList &amp;&#160;</td>
          <td class="paramname"><em>mList2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>leftImage</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>rightImage</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescMatchOptions &amp;&#160;</td>
          <td class="paramname"><em>matchOpts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescOptions &amp;&#160;</td>
          <td class="paramname"><em>computeOpts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Matches two <a class="el" href="classmrpt_1_1vision_1_1_c_matched_feature_list.html" title="A list of features.">CMatchedFeatureList</a> containing mulit-resolution descriptors. </p>
<p>This is performed for both the "left" and "right" lists The first matched list is taken as a base, i.e. its features must contain multi-resolution descriptors at a set of different scales. The second list doesn't need to contain such information because it will be computed if necessary according to the the fulfillment of some restriction regarding the matching process. This function will try to find the best matches within list2 corresponding to the features </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mList1</td><td>[IN] The base list. </td></tr>
    <tr><td class="paramname">mList2</td><td>[IN] The other list of features. </td></tr>
    <tr><td class="paramname">leftImage</td><td>[IN] The image from where the list2 was extracted. It's used to compute the descriptor of these features if necessary. </td></tr>
    <tr><td class="paramname">rightImage</td><td>[IN] The image from where the list2 was extracted. It's used to compute the descriptor of these features if necessary. </td></tr>
    <tr><td class="paramname">matchOpts</td><td>[IN] The options structure for the matching process. </td></tr>
    <tr><td class="paramname">computeOpts</td><td>[IN] The options structure for the descriptor computation process. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of matches found </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structmrpt_1_1vision_1_1_t_multi_res_desc_match_options.html" title="Struct containing the options when matching multi-resolution SIFT-like descriptors.">TMultiResDescMatchOptions</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gab519c693125be233d24d2e14c436c05c"></a><!-- doxytag: member="mrpt::vision::relocalizeMultiDesc" ref="gab519c693125be233d24d2e14c436c05c" args="(const CImage &amp;image, CFeatureList &amp;baseList, CFeatureList &amp;currentList, TQuantizationTable &amp;qTable, const TMultiResDescOptions &amp;desc_opts, const TMultiResDescMatchOptions &amp;match_opts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TMultiResMatchingOutput VISION_IMPEXP mrpt::vision::relocalizeMultiDesc </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classmrpt_1_1utils_1_1_c_image.html">CImage</a> &amp;&#160;</td>
          <td class="paramname"><em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CFeatureList &amp;&#160;</td>
          <td class="paramname"><em>baseList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CFeatureList &amp;&#160;</td>
          <td class="paramname"><em>currentList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TQuantizationTable &amp;&#160;</td>
          <td class="paramname"><em>qTable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescOptions &amp;&#160;</td>
          <td class="paramname"><em>desc_opts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const TMultiResDescMatchOptions &amp;&#160;</td>
          <td class="paramname"><em>match_opts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ga1192dd875ff5377721d4e1e47a818651"></a><!-- doxytag: member="mrpt::vision::saveQTableToFile" ref="ga1192dd875ff5377721d4e1e47a818651" args="(const TQuantizationTable &amp;qTable, const string &amp;filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VISION_IMPEXP mrpt::vision::saveQTableToFile </td>
          <td>(</td>
          <td class="paramtype">const TQuantizationTable &amp;&#160;</td>
          <td class="paramname"><em>qTable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1string.html">string</a> &amp;&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="gaae2d9ac74878f370cd26a17cf4a14725"></a><!-- doxytag: member="mrpt::vision::setProperScales" ref="gaae2d9ac74878f370cd26a17cf4a14725" args="(const CFeaturePtr &amp;feat1, const CFeaturePtr &amp;feat2, int &amp;firstScale, int &amp;lastScale)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VISION_IMPEXP mrpt::vision::setProperScales </td>
          <td>(</td>
          <td class="paramtype">const CFeaturePtr &amp;&#160;</td>
          <td class="paramname"><em>feat1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CFeaturePtr &amp;&#160;</td>
          <td class="paramname"><em>feat2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>firstScale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>lastScale</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the initial and final scales where to look when finding a match between multi-resolution features. </p>
<p>Both features must have their "depth" member properly computed. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">feat1</td><td>[IN] The base feature which MUST contain a set of different scales. </td></tr>
    <tr><td class="paramname">feat2</td><td>[IN] The other feature which must be computed at base scale (1.0). </td></tr>
    <tr><td class="paramname">firstScale</td><td>[OUT] The initial scale (within [0 feat1-&gt;<a class="el" href="namespacemrpt_1_1math.html#a632ae0aecf78103f87f18f9ac33f7170">multiScale.size()</a>-1]) where to look. </td></tr>
    <tr><td class="paramname">firstScale</td><td>[OUT] The final scale (within [0 feat1-&gt;<a class="el" href="namespacemrpt_1_1math.html#a632ae0aecf78103f87f18f9ac33f7170">multiScale.size()</a>-1]) where to look. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga7b2922d335bc23255386e17b7bab4de8"></a><!-- doxytag: member="mrpt::vision::updateBaseList" ref="ga7b2922d335bc23255386e17b7bab4de8" args="(CFeatureList &amp;baseList, const CFeatureList &amp;currentList, const vector&lt; int &gt; &amp;idx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void VISION_IMPEXP mrpt::vision::updateBaseList </td>
          <td>(</td>
          <td class="paramtype">CFeatureList &amp;&#160;</td>
          <td class="paramname"><em>baseList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CFeatureList &amp;&#160;</td>
          <td class="paramname"><em>currentList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classstd_1_1vector.html">vector</a>&lt; int &gt; &amp;&#160;</td>
          <td class="paramname"><em>idx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>