⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kdtree_8h.html

📁 Rob Hess Linux下的SIFT提取源码
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>SIFT: kdtree.h File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.2 --><div class="tabs">  <ul>    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>    <li class="current"><a href="files.html"><span>Files</span></a></li>  </ul></div><div class="tabs">  <ul>    <li><a href="files.html"><span>File&nbsp;List</span></a></li>    <li><a href="globals.html"><span>Globals</span></a></li>  </ul></div><h1>kdtree.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>Functions and structures for maintaining a k-d tree database of image features. <p>For more information, refer to:<p>Beis, J. S. and Lowe, D. G. Shape indexing using approximate nearest-neighbor search in high-dimensional spaces. In <em>Conference on Computer Vision and Pattern Recognition (CVPR)</em> (2003), pp. 1000--1006.<p>Copyright (C) 2006-2007 Rob Hess &lt;<a href="mailto:hess@eecs.oregonstate.edu">hess@eecs.oregonstate.edu</a>&gt;<p><dl class="version" compact><dt><b>Version:</b></dt><dd>1.1.1-20070913 </dd></dl><p><code>#include &quot;cxcore.h&quot;</code><br><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Data Structures</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkd__node.html">kd_node</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a node in a k-d tree  <a href="structkd__node.html#_details">More...</a><br></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structkd__node.html">kd_node</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="kdtree_8h.html#b07c8d9793fd9e7105f679127d12ee3c">kdtree_build</a> (struct <a class="el" href="structfeature.html">feature</a> *features, int n)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A function to build a k-d tree database from keypoints in an array.  <a href="#b07c8d9793fd9e7105f679127d12ee3c"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="kdtree_8h.html#730e01f100a477780a3ad55b32c3067b">kdtree_bbf_knn</a> (struct <a class="el" href="structkd__node.html">kd_node</a> *kd_root, struct <a class="el" href="structfeature.html">feature</a> *feat, int k, struct <a class="el" href="structfeature.html">feature</a> ***nbrs, int max_nn_chks)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds an image feature's approximate k nearest neighbors in a kd tree using Best Bin First search.  <a href="#730e01f100a477780a3ad55b32c3067b"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="kdtree_8h.html#eaf077b151e1233a37d8d2dfcde7206e">kdtree_bbf_spatial_knn</a> (struct <a class="el" href="structkd__node.html">kd_node</a> *kd_root, struct <a class="el" href="structfeature.html">feature</a> *feat, int k, struct <a class="el" href="structfeature.html">feature</a> ***nbrs, int max_nn_chks, CvRect rect, int model)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finds an image feature's approximate k nearest neighbors within a specified spatial region in a kd tree using Best Bin First search.  <a href="#eaf077b151e1233a37d8d2dfcde7206e"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="kdtree_8h.html#9ef04232d0a4352e304f8eb93d22a949">kdtree_release</a> (struct <a class="el" href="structkd__node.html">kd_node</a> *kd_root)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">De-allocates memory held by a kd tree.  <a href="#9ef04232d0a4352e304f8eb93d22a949"></a><br></td></tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="b07c8d9793fd9e7105f679127d12ee3c"></a><!-- doxytag: member="kdtree.h::kdtree_build" ref="b07c8d9793fd9e7105f679127d12ee3c" args="(struct feature *features, int n)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">struct <a class="el" href="structkd__node.html">kd_node</a>* kdtree_build           </td>          <td>(</td>          <td class="paramtype">struct <a class="el" href="structfeature.html">feature</a> *&nbsp;</td>          <td class="paramname"> <em>features</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">int&nbsp;</td>          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td width="100%"><code> [read]</code></td>        </tr>      </table></div><div class="memdoc"><p>A function to build a k-d tree database from keypoints in an array. <p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>features</em>&nbsp;</td><td>an array of features </td></tr>    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the number of features in <em>features</em> </td></tr>  </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns the root of a kd tree built from <em>features</em>. </dd></dl></div></div><p><a class="anchor" name="730e01f100a477780a3ad55b32c3067b"></a><!-- doxytag: member="kdtree.h::kdtree_bbf_knn" ref="730e01f100a477780a3ad55b32c3067b" args="(struct kd_node *kd_root, struct feature *feat, int k, struct feature ***nbrs, int max_nn_chks)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">int kdtree_bbf_knn           </td>          <td>(</td>          <td class="paramtype">struct <a class="el" href="structkd__node.html">kd_node</a> *&nbsp;</td>          <td class="paramname"> <em>kd_root</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">struct <a class="el" href="structfeature.html">feature</a> *&nbsp;</td>          <td class="paramname"> <em>feat</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">int&nbsp;</td>          <td class="paramname"> <em>k</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">struct <a class="el" href="structfeature.html">feature</a> ***&nbsp;</td>          <td class="paramname"> <em>nbrs</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">int&nbsp;</td>          <td class="paramname"> <em>max_nn_chks</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Finds an image feature's approximate k nearest neighbors in a kd tree using Best Bin First search. <p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>kd_root</em>&nbsp;</td><td>root of an image <a class="el" href="structfeature.html" title="Structure to represent an affine invariant image feature.">feature</a> kd tree </td></tr>    <tr><td valign="top"></td><td valign="top"><em>feat</em>&nbsp;</td><td>image <a class="el" href="structfeature.html" title="Structure to represent an affine invariant image feature.">feature</a> for whose neighbors to search </td></tr>    <tr><td valign="top"></td><td valign="top"><em>k</em>&nbsp;</td><td>number of neighbors to find </td></tr>    <tr><td valign="top"></td><td valign="top"><em>nbrs</em>&nbsp;</td><td>pointer to an array in which to store pointers to neighbors in order of increasing descriptor distance </td></tr>    <tr><td valign="top"></td><td valign="top"><em>max_nn_chks</em>&nbsp;</td><td>search is cut off after examining this many tree entries</td></tr>  </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns the number of neighbors found and stored in <em>nbrs</em>, or -1 on error. </dd></dl></div></div><p><a class="anchor" name="eaf077b151e1233a37d8d2dfcde7206e"></a><!-- doxytag: member="kdtree.h::kdtree_bbf_spatial_knn" ref="eaf077b151e1233a37d8d2dfcde7206e" args="(struct kd_node *kd_root, struct feature *feat, int k, struct feature ***nbrs, int max_nn_chks, CvRect rect, int model)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">int kdtree_bbf_spatial_knn           </td>          <td>(</td>          <td class="paramtype">struct <a class="el" href="structkd__node.html">kd_node</a> *&nbsp;</td>          <td class="paramname"> <em>kd_root</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">struct <a class="el" href="structfeature.html">feature</a> *&nbsp;</td>          <td class="paramname"> <em>feat</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">int&nbsp;</td>          <td class="paramname"> <em>k</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">struct <a class="el" href="structfeature.html">feature</a> ***&nbsp;</td>          <td class="paramname"> <em>nbrs</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">int&nbsp;</td>          <td class="paramname"> <em>max_nn_chks</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">CvRect&nbsp;</td>          <td class="paramname"> <em>rect</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">int&nbsp;</td>          <td class="paramname"> <em>model</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Finds an image feature's approximate k nearest neighbors within a specified spatial region in a kd tree using Best Bin First search. <p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>kd_root</em>&nbsp;</td><td>root of an image <a class="el" href="structfeature.html" title="Structure to represent an affine invariant image feature.">feature</a> kd tree </td></tr>    <tr><td valign="top"></td><td valign="top"><em>feat</em>&nbsp;</td><td>image <a class="el" href="structfeature.html" title="Structure to represent an affine invariant image feature.">feature</a> for whose neighbors to search </td></tr>    <tr><td valign="top"></td><td valign="top"><em>k</em>&nbsp;</td><td>number of neighbors to find </td></tr>    <tr><td valign="top"></td><td valign="top"><em>nbrs</em>&nbsp;</td><td>pointer to an array in which to store pointers to neighbors in order of increasing descriptor distance </td></tr>    <tr><td valign="top"></td><td valign="top"><em>max_nn_chks</em>&nbsp;</td><td>search is cut off after examining this many tree entries </td></tr>    <tr><td valign="top"></td><td valign="top"><em>rect</em>&nbsp;</td><td>rectangular region in which to search for neighbors </td></tr>    <tr><td valign="top"></td><td valign="top"><em>model</em>&nbsp;</td><td>if true, spatial search is based on kdtree features' model locations; otherwise it is based on their image locations</td></tr>  </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns the number of neighbors found and stored in <em>nbrs</em> (in case <em>k</em> neighbors could not be found before examining <em>max_nn_checks</em> keypoint entries). </dd></dl></div></div><p><a class="anchor" name="9ef04232d0a4352e304f8eb93d22a949"></a><!-- doxytag: member="kdtree.h::kdtree_release" ref="9ef04232d0a4352e304f8eb93d22a949" args="(struct kd_node *kd_root)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void kdtree_release           </td>          <td>(</td>          <td class="paramtype">struct <a class="el" href="structkd__node.html">kd_node</a> *&nbsp;</td>          <td class="paramname"> <em>kd_root</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>De-allocates memory held by a kd tree. <p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>kd_root</em>&nbsp;</td><td>pointer to the root of a kd tree </td></tr>  </table></dl></div></div><p><hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 30 11:37:27 2007 for SIFT by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -