You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
836 lines
37 KiB
836 lines
37 KiB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.17"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>My Project: PointBase Class Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">My Project
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.17 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-attribs">Public Attributes</a> |
|
|
<a href="classPointBase-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">PointBase Class Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>class implemented as solution for the thesis providing stitching and stitching features
|
|
<a href="classPointBase.html#details">More...</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:abbb9305eacd3ecc8ce9fa240b7a06fbd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#abbb9305eacd3ecc8ce9fa240b7a06fbd">load</a> (string path)</td></tr>
|
|
<tr class="memdesc:abbb9305eacd3ecc8ce9fa240b7a06fbd"><td class="mdescLeft"> </td><td class="mdescRight">load the points from a database - necessary for the offline algorithm <a href="classPointBase.html#abbb9305eacd3ecc8ce9fa240b7a06fbd">More...</a><br /></td></tr>
|
|
<tr class="separator:abbb9305eacd3ecc8ce9fa240b7a06fbd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae8b32365bd6ecbbe1d67620287eea0f1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#ae8b32365bd6ecbbe1d67620287eea0f1">printPoints</a> (int which=0)</td></tr>
|
|
<tr class="memdesc:ae8b32365bd6ecbbe1d67620287eea0f1"><td class="mdescLeft"> </td><td class="mdescRight">prints the points from the database into the terminal <a href="classPointBase.html#ae8b32365bd6ecbbe1d67620287eea0f1">More...</a><br /></td></tr>
|
|
<tr class="separator:ae8b32365bd6ecbbe1d67620287eea0f1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6922b9ce602af99c7d51080d3bf87f47"><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#a6922b9ce602af99c7d51080d3bf87f47">getPath</a> (double x, double y)</td></tr>
|
|
<tr class="memdesc:a6922b9ce602af99c7d51080d3bf87f47"><td class="mdescLeft"> </td><td class="mdescRight">returns the path of a point specified by x and y values <a href="classPointBase.html#a6922b9ce602af99c7d51080d3bf87f47">More...</a><br /></td></tr>
|
|
<tr class="separator:a6922b9ce602af99c7d51080d3bf87f47"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab21715a437ce558b06c27a1150643487"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#ab21715a437ce558b06c27a1150643487">showPointImg</a> ()</td></tr>
|
|
<tr class="memdesc:ab21715a437ce558b06c27a1150643487"><td class="mdescLeft"> </td><td class="mdescRight">shows the location of loaded points on an images <a href="classPointBase.html#ab21715a437ce558b06c27a1150643487">More...</a><br /></td></tr>
|
|
<tr class="separator:ab21715a437ce558b06c27a1150643487"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a119720418d113373b7fab68c762efe63"><td class="memItemLeft" align="right" valign="top">vector< Point2d > </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#a119720418d113373b7fab68c762efe63">getAdjacents</a> (Point2d inputPoint)</td></tr>
|
|
<tr class="memdesc:a119720418d113373b7fab68c762efe63"><td class="mdescLeft"> </td><td class="mdescRight">DESTRUCTIVE!! - removes found adj. points from points vector, adds them to the toBeDone vector. <a href="classPointBase.html#a119720418d113373b7fab68c762efe63">More...</a><br /></td></tr>
|
|
<tr class="separator:a119720418d113373b7fab68c762efe63"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a81aed98eaeca5e5ef2fcef19c3fbbb28"><td class="memItemLeft" align="right" valign="top">Mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#a81aed98eaeca5e5ef2fcef19c3fbbb28">rotate</a> (Mat src, double angle)</td></tr>
|
|
<tr class="memdesc:a81aed98eaeca5e5ef2fcef19c3fbbb28"><td class="mdescLeft"> </td><td class="mdescRight">rotation function <a href="https://stackoverflow.com/questions/22041699/rotate-an-image-without-cropping-in-opencv-in-c">https://stackoverflow.com/questions/22041699/rotate-an-image-without-cropping-in-opencv-in-c</a> <a href="classPointBase.html#a81aed98eaeca5e5ef2fcef19c3fbbb28">More...</a><br /></td></tr>
|
|
<tr class="separator:a81aed98eaeca5e5ef2fcef19c3fbbb28"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0448f63dca5a9d8b314eaf7e598ee8ae"><td class="memItemLeft" align="right" valign="top">Mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#a0448f63dca5a9d8b314eaf7e598ee8ae">dtBlend</a> (Mat roi, Mat transformedRoi, bool showImg=false)</td></tr>
|
|
<tr class="memdesc:a0448f63dca5a9d8b314eaf7e598ee8ae"><td class="mdescLeft"> </td><td class="mdescRight">blends using distance transform <a href="classPointBase.html#a0448f63dca5a9d8b314eaf7e598ee8ae">More...</a><br /></td></tr>
|
|
<tr class="separator:a0448f63dca5a9d8b314eaf7e598ee8ae"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa196aa2438afb9dd446d23786e077f72"><td class="memItemLeft" align="right" valign="top"><a id="aa196aa2438afb9dd446d23786e077f72"></a>
|
|
Mat </td><td class="memItemRight" valign="bottom"><b>exposureBlend</b> (Mat roi, Mat transformedRoi, bool showImg=false)</td></tr>
|
|
<tr class="separator:aa196aa2438afb9dd446d23786e077f72"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a536381acff1b3628b6e3c9dfe1cfbb43"><td class="memItemLeft" align="right" valign="top">Mat </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#a536381acff1b3628b6e3c9dfe1cfbb43">pyramidBlend</a> (Mat roi, Mat transformedRoi, bool showImg=false)</td></tr>
|
|
<tr class="memdesc:a536381acff1b3628b6e3c9dfe1cfbb43"><td class="mdescLeft"> </td><td class="mdescRight">blends using image pyramids transform <a href="classPointBase.html#a536381acff1b3628b6e3c9dfe1cfbb43">More...</a><br /></td></tr>
|
|
<tr class="separator:a536381acff1b3628b6e3c9dfe1cfbb43"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a328939beca51edba0afc28babfb01a6f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#a328939beca51edba0afc28babfb01a6f">stitchImgs</a> ()</td></tr>
|
|
<tr class="memdesc:a328939beca51edba0afc28babfb01a6f"><td class="mdescLeft"> </td><td class="mdescRight">stitches images using opencv pipeline <a href="classPointBase.html#a328939beca51edba0afc28babfb01a6f">More...</a><br /></td></tr>
|
|
<tr class="separator:a328939beca51edba0afc28babfb01a6f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4efa632ae0036a2c4a4283ae8359bdde"><td class="memItemLeft" align="right" valign="top">std::vector< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#a4efa632ae0036a2c4a4283ae8359bdde">getEdgeValues</a> ()</td></tr>
|
|
<tr class="memdesc:a4efa632ae0036a2c4a4283ae8359bdde"><td class="mdescLeft"> </td><td class="mdescRight">gets the values of the top right, left and bottom right left images in pointBase <a href="classPointBase.html#a4efa632ae0036a2c4a4283ae8359bdde">More...</a><br /></td></tr>
|
|
<tr class="separator:a4efa632ae0036a2c4a4283ae8359bdde"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad0eb5f51783fa1f0fb1c57b309db4a59"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#ad0eb5f51783fa1f0fb1c57b309db4a59">cumdump</a> (int imgW, int imgH)</td></tr>
|
|
<tr class="memdesc:ad0eb5f51783fa1f0fb1c57b309db4a59"><td class="mdescLeft"> </td><td class="mdescRight">image stitching using SIFT <a href="classPointBase.html#ad0eb5f51783fa1f0fb1c57b309db4a59">More...</a><br /></td></tr>
|
|
<tr class="separator:ad0eb5f51783fa1f0fb1c57b309db4a59"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a79819eaffd93c2cf34e9ba0e8b1c07df"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#a79819eaffd93c2cf34e9ba0e8b1c07df">patternMatchTry</a> (int imgW, int imgH)</td></tr>
|
|
<tr class="memdesc:a79819eaffd93c2cf34e9ba0e8b1c07df"><td class="mdescLeft"> </td><td class="mdescRight">stitches images using pattern matching <a href="classPointBase.html#a79819eaffd93c2cf34e9ba0e8b1c07df">More...</a><br /></td></tr>
|
|
<tr class="separator:a79819eaffd93c2cf34e9ba0e8b1c07df"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac3f8de651619802cf991ea6e5f9e79d9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#ac3f8de651619802cf991ea6e5f9e79d9">onlineStitch</a> (int imgW, int imgH, string path)</td></tr>
|
|
<tr class="memdesc:ac3f8de651619802cf991ea6e5f9e79d9"><td class="mdescLeft"> </td><td class="mdescRight">online image stitching using pattern matching <a href="classPointBase.html#ac3f8de651619802cf991ea6e5f9e79d9">More...</a><br /></td></tr>
|
|
<tr class="separator:ac3f8de651619802cf991ea6e5f9e79d9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a55dc1ba70c1fcb5e769acb84c0cdf1b8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#a55dc1ba70c1fcb5e769acb84c0cdf1b8">onlineStitchSIFT</a> (int imgW, int imgH, string path)</td></tr>
|
|
<tr class="memdesc:a55dc1ba70c1fcb5e769acb84c0cdf1b8"><td class="mdescLeft"> </td><td class="mdescRight">online image stitching using SIFT <a href="classPointBase.html#a55dc1ba70c1fcb5e769acb84c0cdf1b8">More...</a><br /></td></tr>
|
|
<tr class="separator:a55dc1ba70c1fcb5e769acb84c0cdf1b8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
|
|
Public Attributes</h2></td></tr>
|
|
<tr class="memitem:a193e388ed173116556aa33debc117dd1"><td class="memItemLeft" align="right" valign="top">vector< Point2d > </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#a193e388ed173116556aa33debc117dd1">points</a></td></tr>
|
|
<tr class="separator:a193e388ed173116556aa33debc117dd1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad70bad6df338bf9f89f80120a3e3a8ff"><td class="memItemLeft" align="right" valign="top">vector< Point2d > </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#ad70bad6df338bf9f89f80120a3e3a8ff">doneVector</a></td></tr>
|
|
<tr class="separator:ad70bad6df338bf9f89f80120a3e3a8ff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa8c85601930fe4db42dd6dd0a8e5c13c"><td class="memItemLeft" align="right" valign="top">vector< Point2d > </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#aa8c85601930fe4db42dd6dd0a8e5c13c">toDoVector</a></td></tr>
|
|
<tr class="separator:aa8c85601930fe4db42dd6dd0a8e5c13c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a57df7e36df651f12292953a639df33f9"><td class="memItemLeft" align="right" valign="top">std::map< Point2d, string, <a class="el" href="structComparePoints.html">ComparePoints</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#a57df7e36df651f12292953a639df33f9">pathMap</a></td></tr>
|
|
<tr class="separator:a57df7e36df651f12292953a639df33f9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af29ebdc02fc7f9feec14952e8d6ae244"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#af29ebdc02fc7f9feec14952e8d6ae244">imgWidthDeg</a></td></tr>
|
|
<tr class="separator:af29ebdc02fc7f9feec14952e8d6ae244"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a99f91cd4485a3cb125c238cc122e7958"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classPointBase.html#a99f91cd4485a3cb125c238cc122e7958">imgHeightDeg</a></td></tr>
|
|
<tr class="separator:a99f91cd4485a3cb125c238cc122e7958"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>class implemented as solution for the thesis providing stitching and stitching features </p>
|
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="ad0eb5f51783fa1f0fb1c57b309db4a59"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad0eb5f51783fa1f0fb1c57b309db4a59">◆ </a></span>cumdump()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PointBase::cumdump </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>imgW</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>imgH</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>image stitching using SIFT </p>
|
|
<p>saves the source image to the current directory</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">imgW</td><td>source image width </td></tr>
|
|
<tr><td class="paramname">imgH</td><td>source image height </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0448f63dca5a9d8b314eaf7e598ee8ae"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0448f63dca5a9d8b314eaf7e598ee8ae">◆ </a></span>dtBlend()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Mat PointBase::dtBlend </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Mat </td>
|
|
<td class="paramname"><em>roi</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">Mat </td>
|
|
<td class="paramname"><em>transformedRoi</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>showImg</em> = <code>false</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>blends using distance transform </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">roi</td><td>original roi with 1 or more stitched images </td></tr>
|
|
<tr><td class="paramname">transformedRoi</td><td>roi-sized! image with the new image in the appropriate location </td></tr>
|
|
<tr><td class="paramname">showImg</td><td>bool, switch to enable showing of the new roi </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Mat - the blended image </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a119720418d113373b7fab68c762efe63"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a119720418d113373b7fab68c762efe63">◆ </a></span>getAdjacents()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">vector<Point2d> PointBase::getAdjacents </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Point2d </td>
|
|
<td class="paramname"><em>inputPoint</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>DESTRUCTIVE!! - removes found adj. points from points vector, adds them to the toBeDone vector. </p>
|
|
<p>Searches for adjacent points to a given point</p>
|
|
<p>Returns either empty vector, or a vector with the found adjacent points</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">inputPoint</td><td>- opencv Point2d of the searched point </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>vector of <Point2d> - points of images which are adjacent to the inputPoint </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4efa632ae0036a2c4a4283ae8359bdde"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4efa632ae0036a2c4a4283ae8359bdde">◆ </a></span>getEdgeValues()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::vector<double> PointBase::getEdgeValues </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>gets the values of the top right, left and bottom right left images in pointBase </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>vector, where the values are [minX,maxX,minY,maxY] </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6922b9ce602af99c7d51080d3bf87f47"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6922b9ce602af99c7d51080d3bf87f47">◆ </a></span>getPath()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">string PointBase::getPath </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>x</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>y</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>returns the path of a point specified by x and y values </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">x</td><td>- x-value of the point </td></tr>
|
|
<tr><td class="paramname">y</td><td>- y-value of the point </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>string - path of the point </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abbb9305eacd3ecc8ce9fa240b7a06fbd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abbb9305eacd3ecc8ce9fa240b7a06fbd">◆ </a></span>load()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int PointBase::load </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"><em>path</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>load the points from a database - necessary for the offline algorithm </p>
|
|
<p>loaded points in pointbase are sorted according to X value </p><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">path</td><td>- location where images and their jsons are stored in string format </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>int - 0 if success, -1 if no points were loaded </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac3f8de651619802cf991ea6e5f9e79d9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac3f8de651619802cf991ea6e5f9e79d9">◆ </a></span>onlineStitch()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PointBase::onlineStitch </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>imgW</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>imgH</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"><em>path</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>online image stitching using pattern matching </p>
|
|
<p>saves the result image to the current directory</p>
|
|
<p>do not <a class="el" href="classPointBase.html#abbb9305eacd3ecc8ce9fa240b7a06fbd" title="load the points from a database - necessary for the offline algorithm">load()</a> any database previous to using this function</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">imgW</td><td>source image width </td></tr>
|
|
<tr><td class="paramname">imgH</td><td>source image height </td></tr>
|
|
<tr><td class="paramname">path</td><td>path to the images </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a55dc1ba70c1fcb5e769acb84c0cdf1b8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a55dc1ba70c1fcb5e769acb84c0cdf1b8">◆ </a></span>onlineStitchSIFT()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PointBase::onlineStitchSIFT </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>imgW</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>imgH</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"><em>path</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>online image stitching using SIFT </p>
|
|
<p>saves the result image to the current directory</p>
|
|
<p>do not <a class="el" href="classPointBase.html#abbb9305eacd3ecc8ce9fa240b7a06fbd" title="load the points from a database - necessary for the offline algorithm">load()</a> any database previous to using this function</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">imgW</td><td>source image width </td></tr>
|
|
<tr><td class="paramname">imgH</td><td>source image height </td></tr>
|
|
<tr><td class="paramname">path</td><td>path to the images </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a79819eaffd93c2cf34e9ba0e8b1c07df"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a79819eaffd93c2cf34e9ba0e8b1c07df">◆ </a></span>patternMatchTry()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PointBase::patternMatchTry </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>imgW</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>imgH</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>stitches images using pattern matching </p>
|
|
<p>saves the source image to the current directory</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">imgW</td><td>width of the source images </td></tr>
|
|
<tr><td class="paramname">imgH</td><td>height of the source images </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae8b32365bd6ecbbe1d67620287eea0f1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae8b32365bd6ecbbe1d67620287eea0f1">◆ </a></span>printPoints()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PointBase::printPoints </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>which</em> = <code>0</code></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>prints the points from the database into the terminal </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">which</td><td>- if which is 0, the points vector is printed; 1 prints the complete contents of pathMap </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a536381acff1b3628b6e3c9dfe1cfbb43"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a536381acff1b3628b6e3c9dfe1cfbb43">◆ </a></span>pyramidBlend()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Mat PointBase::pyramidBlend </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Mat </td>
|
|
<td class="paramname"><em>roi</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">Mat </td>
|
|
<td class="paramname"><em>transformedRoi</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>showImg</em> = <code>false</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>blends using image pyramids transform </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">roi</td><td>original roi with 1 or more stitched images </td></tr>
|
|
<tr><td class="paramname">transformedRoi</td><td>roi-sized! image with the new image in the appropriate location </td></tr>
|
|
<tr><td class="paramname">showImg</td><td>bool, switch to enable showing of the new roi </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>Mat - the blended image </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a81aed98eaeca5e5ef2fcef19c3fbbb28"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a81aed98eaeca5e5ef2fcef19c3fbbb28">◆ </a></span>rotate()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">Mat PointBase::rotate </td>
|
|
<td>(</td>
|
|
<td class="paramtype">Mat </td>
|
|
<td class="paramname"><em>src</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>angle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>rotation function <a href="https://stackoverflow.com/questions/22041699/rotate-an-image-without-cropping-in-opencv-in-c">https://stackoverflow.com/questions/22041699/rotate-an-image-without-cropping-in-opencv-in-c</a> </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">src</td><td>- input image </td></tr>
|
|
<tr><td class="paramname">angle</td><td>- angle in degrees </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>rotated image </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab21715a437ce558b06c27a1150643487"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab21715a437ce558b06c27a1150643487">◆ </a></span>showPointImg()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PointBase::showPointImg </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>shows the location of loaded points on an images </p>
|
|
<p>useful for debugging</p>
|
|
<p>images have to be loaded using the <a class="el" href="classPointBase.html#abbb9305eacd3ecc8ce9fa240b7a06fbd" title="load the points from a database - necessary for the offline algorithm">load()</a> function </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a328939beca51edba0afc28babfb01a6f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a328939beca51edba0afc28babfb01a6f">◆ </a></span>stitchImgs()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PointBase::stitchImgs </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>stitches images using opencv pipeline </p>
|
|
<p>points have to be loaded in the pointBase first</p>
|
|
<p>saves the result image in current directory </p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
<a id="ad70bad6df338bf9f89f80120a3e3a8ff"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad70bad6df338bf9f89f80120a3e3a8ff">◆ </a></span>doneVector</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">vector<Point2d> PointBase::doneVector</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>points that have been successfully searched for adjacencies <br />
|
|
</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a99f91cd4485a3cb125c238cc122e7958"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a99f91cd4485a3cb125c238cc122e7958">◆ </a></span>imgHeightDeg</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double PointBase::imgHeightDeg</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>image height in sensor format </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af29ebdc02fc7f9feec14952e8d6ae244"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af29ebdc02fc7f9feec14952e8d6ae244">◆ </a></span>imgWidthDeg</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double PointBase::imgWidthDeg</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>image width in degress taken from file </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a57df7e36df651f12292953a639df33f9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a57df7e36df651f12292953a639df33f9">◆ </a></span>pathMap</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::map<Point2d, string, <a class="el" href="structComparePoints.html">ComparePoints</a>> PointBase::pathMap</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>map for file paths - get the path of a file via pathMap[Point2d(x,y)] </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a193e388ed173116556aa33debc117dd1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a193e388ed173116556aa33debc117dd1">◆ </a></span>points</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">vector<Point2d> PointBase::points</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>all points - points are being removed as adjacencies are found </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa8c85601930fe4db42dd6dd0a8e5c13c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa8c85601930fe4db42dd6dd0a8e5c13c">◆ </a></span>toDoVector</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">vector<Point2d> PointBase::toDoVector</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>points yet to be searched for adjacent points </p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li><a class="el" href="pointbase_8cpp.html">pointbase.cpp</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.17
|
|
</small></address>
|
|
</body>
|
|
</html>
|