📄 xform_8h.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: xform.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 Page</span></a></li> <li><a href="annotated.html"><span>Data 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 List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div><h1>xform.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>Functions for computing transforms from image <a class="el" href="structfeature.html" title="Structure to represent an affine invariant image feature.">feature</a> correspondences. <p>Copyright (C) 2006-2007 Rob Hess <<a href="mailto:hess@eecs.oregonstate.edu">hess@eecs.oregonstate.edu</a>><p><dl class="version" compact><dt><b>Version:</b></dt><dd>1.1.1-20070913 </dd></dl><p><code>#include <cxcore.h></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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structransac__data.html">ransac_data</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">holds <a class="el" href="structfeature.html" title="Structure to represent an affine invariant image feature.">feature</a> data relevant to ransac <a href="structransac__data.html#_details">More...</a><br></td></tr><tr><td colspan="2"><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="072d5d0635988fbb798f32912b3d55ae"></a><!-- doxytag: member="xform.h::RANSAC_INLIER_FRAC_EST" ref="072d5d0635988fbb798f32912b3d55ae" args="" -->#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xform_8h.html#072d5d0635988fbb798f32912b3d55ae">RANSAC_INLIER_FRAC_EST</a> 0.25</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">pessimistic estimate of fraction of inlers for RANSAC <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3943434f4eae748e51dc07992521cf02"></a><!-- doxytag: member="xform.h::RANSAC_PROB_BAD_SUPP" ref="3943434f4eae748e51dc07992521cf02" args="" -->#define </td><td class="memItemRight" valign="bottom"><a class="el" href="xform_8h.html#3943434f4eae748e51dc07992521cf02">RANSAC_PROB_BAD_SUPP</a> 0.10</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">estimate of the probability that a correspondence supports a bad model <br></td></tr><tr><td colspan="2"><br><h2>Typedefs</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef CvMat *(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="xform_8h.html#b25c2e689f01758b44c518dfc436d53a">ransac_xform_fn</a> (CvPoint2D64f *pts, CvPoint2D64f *mpts, int n)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Prototype for transformation functions passed to <a class="el" href="xform_8h.html#fda3aa2f1b87efecacc1c67d5e7424c2" title="Calculates a best-fit image transform from image feature correspondences using RANSAC...">ransac_xform()</a>. <a href="#b25c2e689f01758b44c518dfc436d53a"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef double(*) </td><td class="memItemRight" valign="bottom"><a class="el" href="xform_8h.html#957600587213a973a33691831b366117">ransac_err_fn</a> (CvPoint2D64f pt, CvPoint2D64f mpt, CvMat *T)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Prototype for error functions passed to <a class="el" href="xform_8h.html#fda3aa2f1b87efecacc1c67d5e7424c2" title="Calculates a best-fit image transform from image feature correspondences using RANSAC...">ransac_xform()</a>. <a href="#957600587213a973a33691831b366117"></a><br></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">CvMat * </td><td class="memItemRight" valign="bottom"><a class="el" href="xform_8h.html#fda3aa2f1b87efecacc1c67d5e7424c2">ransac_xform</a> (struct <a class="el" href="structfeature.html">feature</a> *features, int n, int mtype, <a class="el" href="xform_8h.html#b25c2e689f01758b44c518dfc436d53a">ransac_xform_fn</a> xform_fn, int m, double p_badxform, <a class="el" href="xform_8h.html#957600587213a973a33691831b366117">ransac_err_fn</a> err_fn, double err_tol, struct <a class="el" href="structfeature.html">feature</a> ***inliers, int *n_in)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates a best-fit image transform from image <a class="el" href="structfeature.html" title="Structure to represent an affine invariant image feature.">feature</a> correspondences using RANSAC. <a href="#fda3aa2f1b87efecacc1c67d5e7424c2"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">CvMat * </td><td class="memItemRight" valign="bottom"><a class="el" href="xform_8h.html#a294258ca8bc70d38cf1cc7fbc864e8d">lsq_homog</a> (CvPoint2D64f *pts, CvPoint2D64f *mpts, int n)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates a least-squares planar homography from point correspondeces. <a href="#a294258ca8bc70d38cf1cc7fbc864e8d"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="xform_8h.html#323525d6ce2d21bc668267d5734737cd">homog_xfer_err</a> (CvPoint2D64f pt, CvPoint2D64f mpt, CvMat *H)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Calculates the transfer error between a point and its correspondence for a given homography, i.e. <a href="#323525d6ce2d21bc668267d5734737cd"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">CvPoint2D64f </td><td class="memItemRight" valign="bottom"><a class="el" href="xform_8h.html#9e3482c9323d073713babce91097a139">persp_xform_pt</a> (CvPoint2D64f pt, CvMat *T)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Performs a perspective transformation on a single point. <a href="#9e3482c9323d073713babce91097a139"></a><br></td></tr></table><hr><h2>Typedef Documentation</h2><a class="anchor" name="b25c2e689f01758b44c518dfc436d53a"></a><!-- doxytag: member="xform.h::ransac_xform_fn" ref="b25c2e689f01758b44c518dfc436d53a" args="(CvPoint2D64f *pts, CvPoint2D64f *mpts, int n)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef CvMat*(*) <a class="el" href="xform_8h.html#b25c2e689f01758b44c518dfc436d53a">ransac_xform_fn</a>(CvPoint2D64f *pts, CvPoint2D64f *mpts, int n) </td> </tr> </table></div><div class="memdoc"><p>Prototype for transformation functions passed to <a class="el" href="xform_8h.html#fda3aa2f1b87efecacc1c67d5e7424c2" title="Calculates a best-fit image transform from image feature correspondences using RANSAC...">ransac_xform()</a>. <p>Functions of this type should compute a transformation matrix given a set of point correspondences.<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>pts</em> </td><td>array of points </td></tr> <tr><td valign="top"></td><td valign="top"><em>mpts</em> </td><td>array of corresponding points; each <em>pts</em>[<em>i</em>], <em>i=0</em>..<em>n-1</em>, corresponds to <em>mpts</em>[<em>i</em>] </td></tr> <tr><td valign="top"></td><td valign="top"><em>n</em> </td><td>number of points in both <em>pts</em> and <em>mpts</em> </td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>Should return a transformation matrix that transforms each point in <em>pts</em> to the corresponding point in <em>mpts</em> or NULL on failure. </dd></dl></div></div><p><a class="anchor" name="957600587213a973a33691831b366117"></a><!-- doxytag: member="xform.h::ransac_err_fn" ref="957600587213a973a33691831b366117" args="(CvPoint2D64f pt, CvPoint2D64f mpt, CvMat *T)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef double(*) <a class="el" href="xform_8h.html#957600587213a973a33691831b366117">ransac_err_fn</a>(CvPoint2D64f pt, CvPoint2D64f mpt, CvMat *T) </td> </tr> </table></div><div class="memdoc"><p>Prototype for error functions passed to <a class="el" href="xform_8h.html#fda3aa2f1b87efecacc1c67d5e7424c2" title="Calculates a best-fit image transform from image feature correspondences using RANSAC...">ransac_xform()</a>. <p>For a given point, its correspondence, and a transform, functions of this type should compute a measure of error between the correspondence and the point after the point has been transformed by the transform.<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>pt</em> </td><td>a point </td></tr> <tr><td valign="top"></td><td valign="top"><em>mpt</em> </td><td><em>pt's</em> correspondence </td></tr> <tr><td valign="top"></td><td valign="top"><em>T</em> </td><td>a transform</td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>Should return a measure of error between <em>mpt</em> and <em>pt</em> after <em>pt</em> has been transformed by the transform <em>T</em>. </dd></dl></div></div><p><hr><h2>Function Documentation</h2><a class="anchor" name="fda3aa2f1b87efecacc1c67d5e7424c2"></a><!-- doxytag: member="xform.h::ransac_xform" ref="fda3aa2f1b87efecacc1c67d5e7424c2" args="(struct feature *features, int n, int mtype, ransac_xform_fn xform_fn, int m, double p_badxform, ransac_err_fn err_fn, double err_tol, struct feature ***inliers, int *n_in)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">CvMat* ransac_xform </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structfeature.html">feature</a> * </td> <td class="paramname"> <em>features</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>mtype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="xform_8h.html#b25c2e689f01758b44c518dfc436d53a">ransac_xform_fn</a> </td> <td class="paramname"> <em>xform_fn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>p_badxform</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="xform_8h.html#957600587213a973a33691831b366117">ransac_err_fn</a> </td> <td class="paramname"> <em>err_fn</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>err_tol</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structfeature.html">feature</a> *** </td> <td class="paramname"> <em>inliers</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -