classcore_1_1Tracklet.html 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.12"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>Tracore: core::Tracklet Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <script type="text/javascript">
  16. $(document).ready(function() { init_search(); });
  17. </script>
  18. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  19. </head>
  20. <body>
  21. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  22. <div id="titlearea">
  23. <table cellspacing="0" cellpadding="0">
  24. <tbody>
  25. <tr style="height: 56px;">
  26. <td id="projectalign" style="padding-left: 0.5em;">
  27. <div id="projectname">Tracore
  28. </div>
  29. </td>
  30. </tr>
  31. </tbody>
  32. </table>
  33. </div>
  34. <!-- end header part -->
  35. <!-- Generated by Doxygen 1.8.12 -->
  36. <script type="text/javascript">
  37. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  38. </script>
  39. <div id="navrow1" class="tabs">
  40. <ul class="tablist">
  41. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  42. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  43. <li><a href="files.html"><span>Files</span></a></li>
  44. <li>
  45. <div id="MSearchBox" class="MSearchBoxInactive">
  46. <span class="left">
  47. <img id="MSearchSelect" src="search/mag_sel.png"
  48. onmouseover="return searchBox.OnSearchSelectShow()"
  49. onmouseout="return searchBox.OnSearchSelectHide()"
  50. alt=""/>
  51. <input type="text" id="MSearchField" value="Search" accesskey="S"
  52. onfocus="searchBox.OnSearchFieldFocus(true)"
  53. onblur="searchBox.OnSearchFieldFocus(false)"
  54. onkeyup="searchBox.OnSearchFieldChange(event)"/>
  55. </span><span class="right">
  56. <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
  57. </span>
  58. </div>
  59. </li>
  60. </ul>
  61. </div>
  62. <div id="navrow2" class="tabs2">
  63. <ul class="tablist">
  64. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  65. <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
  66. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  67. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  68. </ul>
  69. </div>
  70. <!-- window showing the filter options -->
  71. <div id="MSearchSelectWindow"
  72. onmouseover="return searchBox.OnSearchSelectShow()"
  73. onmouseout="return searchBox.OnSearchSelectHide()"
  74. onkeydown="return searchBox.OnSearchSelectKey(event)">
  75. </div>
  76. <!-- iframe showing the search results (closed by default) -->
  77. <div id="MSearchResultsWindow">
  78. <iframe src="javascript:void(0)" frameborder="0"
  79. name="MSearchResults" id="MSearchResults">
  80. </iframe>
  81. </div>
  82. <div id="nav-path" class="navpath">
  83. <ul>
  84. <li class="navelem"><b>core</b></li><li class="navelem"><a class="el" href="classcore_1_1Tracklet.html">Tracklet</a></li> </ul>
  85. </div>
  86. </div><!-- top -->
  87. <div class="header">
  88. <div class="summary">
  89. <a href="#pub-methods">Public Member Functions</a> &#124;
  90. <a href="classcore_1_1Tracklet-members.html">List of all members</a> </div>
  91. <div class="headertitle">
  92. <div class="title">core::Tracklet Class Reference</div> </div>
  93. </div><!--header-->
  94. <div class="contents">
  95. <p><code>#include &lt;<a class="el" href="Tracklet_8h_source.html">Tracklet.h</a>&gt;</code></p>
  96. <div class="dynheader">
  97. Inheritance diagram for core::Tracklet:</div>
  98. <div class="dyncontent">
  99. <div class="center">
  100. <img src="classcore_1_1Tracklet.png" usemap="#core::Tracklet_map" alt=""/>
  101. <map id="core::Tracklet_map" name="core::Tracklet_map">
  102. <area href="classcore_1_1ObjectData.html" alt="core::ObjectData" shape="rect" coords="0,0,107,24"/>
  103. </map>
  104. </div></div>
  105. <table class="memberdecls">
  106. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  107. Public Member Functions</h2></td></tr>
  108. <tr class="memitem:aedf59b5a9a068a28bb7570f2a031d4e7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#aedf59b5a9a068a28bb7570f2a031d4e7">Tracklet</a> ()</td></tr>
  109. <tr class="separator:aedf59b5a9a068a28bb7570f2a031d4e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="memitem:ab0b397f2d0685a927de886dbd36c3bc8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#ab0b397f2d0685a927de886dbd36c3bc8">AddPathObject</a> (ObjectDataPtr obj, bool overwrite=false)</td></tr>
  111. <tr class="separator:ab0b397f2d0685a927de886dbd36c3bc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  112. <tr class="memitem:a1b963319d6c65614baec02a925f31691"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#a1b963319d6c65614baec02a925f31691">GetFirstFrameIndex</a> () const</td></tr>
  113. <tr class="separator:a1b963319d6c65614baec02a925f31691"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="memitem:ad8e195b523cf2021394455cc21867d96"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#ad8e195b523cf2021394455cc21867d96">GetLastFrameIndex</a> () const</td></tr>
  115. <tr class="separator:ad8e195b523cf2021394455cc21867d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:a9758349e8f25c479ffc4b21a90149a81"><td class="memItemLeft" align="right" valign="top">ObjectDataPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#a9758349e8f25c479ffc4b21a90149a81">GetPathObject</a> (size_t i)</td></tr>
  117. <tr class="separator:a9758349e8f25c479ffc4b21a90149a81"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. <tr class="memitem:aee4298a7b734b2b7533d4536006a8aa8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#aee4298a7b734b2b7533d4536006a8aa8">GetPathObjectCount</a> () const</td></tr>
  119. <tr class="separator:aee4298a7b734b2b7533d4536006a8aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  120. <tr class="memitem:a10b56b608b24ef547550540e5a755bce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#a10b56b608b24ef547550540e5a755bce">InterpolateMissingFrames</a> ()</td></tr>
  121. <tr class="separator:a10b56b608b24ef547550540e5a755bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:a3a2b241939559e47aef701d2e2c4d4bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#a3a2b241939559e47aef701d2e2c4d4bd">Visualize</a> (cv::Mat &amp;image, cv::Scalar &amp;color, size_t frame, size_t predecessor_count, size_t successor_count) const</td></tr>
  123. <tr class="separator:a3a2b241939559e47aef701d2e2c4d4bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  124. <tr class="memitem:a2bdb2f2c8249145808e7029dde6e7df0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#a2bdb2f2c8249145808e7029dde6e7df0">Flatten</a> ()</td></tr>
  125. <tr class="separator:a2bdb2f2c8249145808e7029dde6e7df0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  126. <tr class="memitem:a5bbbf1e2858edaad93c04cc663afeeff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#a5bbbf1e2858edaad93c04cc663afeeff">Combine</a> (TrackletPtr other)</td></tr>
  127. <tr class="separator:a5bbbf1e2858edaad93c04cc663afeeff"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. <tr class="memitem:a5a0e56045f8c1868b46db87700658260"><td class="memItemLeft" align="right" valign="top">ObjectDataPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#a5a0e56045f8c1868b46db87700658260">GetFrameObject</a> (size_t frame_index)</td></tr>
  129. <tr class="separator:a5a0e56045f8c1868b46db87700658260"><td class="memSeparator" colspan="2">&#160;</td></tr>
  130. <tr class="memitem:a0357f2fa173941800571432dcbc96dc2"><td class="memItemLeft" align="right" valign="top">virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#a0357f2fa173941800571432dcbc96dc2">CompareTo</a> (ObjectDataPtr obj) const override</td></tr>
  131. <tr class="separator:a0357f2fa173941800571432dcbc96dc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <tr class="memitem:a5fb5e6ab9df668c3477e8b52f115b188"><td class="memItemLeft" align="right" valign="top">virtual ObjectDataPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#a5fb5e6ab9df668c3477e8b52f115b188">Interpolate</a> (ObjectDataPtr obj, double fraction) const override</td></tr>
  133. <tr class="separator:a5fb5e6ab9df668c3477e8b52f115b188"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:a85f92a4059bf89f24a83f28935675181"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Tracklet.html#a85f92a4059bf89f24a83f28935675181">Visualize</a> (cv::Mat &amp;image, cv::Scalar &amp;color) const override</td></tr>
  135. <tr class="separator:a85f92a4059bf89f24a83f28935675181"><td class="memSeparator" colspan="2">&#160;</td></tr>
  136. <tr class="inherit_header pub_methods_classcore_1_1ObjectData"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcore_1_1ObjectData')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcore_1_1ObjectData.html">core::ObjectData</a></td></tr>
  137. <tr class="memitem:a7f47a396a3b9e8c12a1557c8156b8ff9 inherit pub_methods_classcore_1_1ObjectData"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1ObjectData.html#a7f47a396a3b9e8c12a1557c8156b8ff9">ObjectData</a> ()</td></tr>
  138. <tr class="separator:a7f47a396a3b9e8c12a1557c8156b8ff9 inherit pub_methods_classcore_1_1ObjectData"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. <tr class="memitem:af4333a52b012841a6ba73b25aeaae71b inherit pub_methods_classcore_1_1ObjectData"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1ObjectData.html#af4333a52b012841a6ba73b25aeaae71b">ObjectData</a> (std::size_t frame_index)</td></tr>
  140. <tr class="separator:af4333a52b012841a6ba73b25aeaae71b inherit pub_methods_classcore_1_1ObjectData"><td class="memSeparator" colspan="2">&#160;</td></tr>
  141. <tr class="memitem:a1151e9215baf315f4b98f696f4271162 inherit pub_methods_classcore_1_1ObjectData"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1ObjectData.html#a1151e9215baf315f4b98f696f4271162">GetFrameIndex</a> () const</td></tr>
  142. <tr class="separator:a1151e9215baf315f4b98f696f4271162 inherit pub_methods_classcore_1_1ObjectData"><td class="memSeparator" colspan="2">&#160;</td></tr>
  143. <tr class="memitem:aedfe00fa37d5ac7ef554bda746931148 inherit pub_methods_classcore_1_1ObjectData"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1ObjectData.html#aedfe00fa37d5ac7ef554bda746931148">SetFrameIndex</a> (size_t index)</td></tr>
  144. <tr class="separator:aedfe00fa37d5ac7ef554bda746931148 inherit pub_methods_classcore_1_1ObjectData"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:a737216c2689aefa216c1c842922d7dd8 inherit pub_methods_classcore_1_1ObjectData"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1ObjectData.html#a737216c2689aefa216c1c842922d7dd8">SetDetectionScore</a> (double score)</td></tr>
  146. <tr class="separator:a737216c2689aefa216c1c842922d7dd8 inherit pub_methods_classcore_1_1ObjectData"><td class="memSeparator" colspan="2">&#160;</td></tr>
  147. <tr class="memitem:a227a11377867105d5fcbe9efc3faed45 inherit pub_methods_classcore_1_1ObjectData"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1ObjectData.html#a227a11377867105d5fcbe9efc3faed45">GetDetectionScore</a> () const</td></tr>
  148. <tr class="separator:a227a11377867105d5fcbe9efc3faed45 inherit pub_methods_classcore_1_1ObjectData"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. <tr class="memitem:a2880d710cfa520e9c0453e2a6729c0e2 inherit pub_methods_classcore_1_1ObjectData"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1ObjectData.html#a2880d710cfa520e9c0453e2a6729c0e2">IsVirtual</a> () const</td></tr>
  150. <tr class="separator:a2880d710cfa520e9c0453e2a6729c0e2 inherit pub_methods_classcore_1_1ObjectData"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:affa5d25fa3d2c04a571a7e095f62bacb inherit pub_methods_classcore_1_1ObjectData"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1ObjectData.html#affa5d25fa3d2c04a571a7e095f62bacb">IsWithinConstraints</a> (ObjectDataPtr obj, std::unordered_map&lt; std::string, double &gt; &amp;constraints) const</td></tr>
  152. <tr class="separator:affa5d25fa3d2c04a571a7e095f62bacb inherit pub_methods_classcore_1_1ObjectData"><td class="memSeparator" colspan="2">&#160;</td></tr>
  153. <tr class="memitem:a1d864ed88355e636c5783c18c9ab0555 inherit pub_methods_classcore_1_1ObjectData"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1ObjectData.html#a1d864ed88355e636c5783c18c9ab0555">ToString</a> (char delimiter) const</td></tr>
  154. <tr class="separator:a1d864ed88355e636c5783c18c9ab0555 inherit pub_methods_classcore_1_1ObjectData"><td class="memSeparator" colspan="2">&#160;</td></tr>
  155. </table>
  156. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  157. <div class="textblock"><p>A class for storing multiple object data objects. The object data objects are handled as a path. All objects are stored sorted ascending by their frame index. </p>
  158. </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  159. <a class="anchor" id="aedf59b5a9a068a28bb7570f2a031d4e7"></a>
  160. <div class="memitem">
  161. <div class="memproto">
  162. <table class="memname">
  163. <tr>
  164. <td class="memname">core::Tracklet::Tracklet </td>
  165. <td>(</td>
  166. <td class="paramname"></td><td>)</td>
  167. <td></td>
  168. </tr>
  169. </table>
  170. </div><div class="memdoc">
  171. <p>Creates a empty tracklet to store path object in. This is NOT a virtual object. </p>
  172. </div>
  173. </div>
  174. <h2 class="groupheader">Member Function Documentation</h2>
  175. <a class="anchor" id="ab0b397f2d0685a927de886dbd36c3bc8"></a>
  176. <div class="memitem">
  177. <div class="memproto">
  178. <table class="memname">
  179. <tr>
  180. <td class="memname">void core::Tracklet::AddPathObject </td>
  181. <td>(</td>
  182. <td class="paramtype">ObjectDataPtr&#160;</td>
  183. <td class="paramname"><em>obj</em>, </td>
  184. </tr>
  185. <tr>
  186. <td class="paramkey"></td>
  187. <td></td>
  188. <td class="paramtype">bool&#160;</td>
  189. <td class="paramname"><em>overwrite</em> = <code>false</code>&#160;</td>
  190. </tr>
  191. <tr>
  192. <td></td>
  193. <td>)</td>
  194. <td></td><td></td>
  195. </tr>
  196. </table>
  197. </div><div class="memdoc">
  198. <p>Adds the path object sorted into the tracklet. </p><dl class="params"><dt>Parameters</dt><dd>
  199. <table class="params">
  200. <tr><td class="paramname">obj</td><td>The path object to add </td></tr>
  201. <tr><td class="paramname">overwrite</td><td>If true and an object in the same frame as the given object already exists, the old one will be replaced by the new one </td></tr>
  202. </table>
  203. </dd>
  204. </dl>
  205. </div>
  206. </div>
  207. <a class="anchor" id="a5bbbf1e2858edaad93c04cc663afeeff"></a>
  208. <div class="memitem">
  209. <div class="memproto">
  210. <table class="memname">
  211. <tr>
  212. <td class="memname">void core::Tracklet::Combine </td>
  213. <td>(</td>
  214. <td class="paramtype">TrackletPtr&#160;</td>
  215. <td class="paramname"><em>other</em></td><td>)</td>
  216. <td></td>
  217. </tr>
  218. </table>
  219. </div><div class="memdoc">
  220. <p>Copies all detections from the specified tracklet to this tracklet</p>
  221. <dl class="params"><dt>Parameters</dt><dd>
  222. <table class="params">
  223. <tr><td class="paramname">other</td><td>The tracklet to copy the detections from </td></tr>
  224. </table>
  225. </dd>
  226. </dl>
  227. </div>
  228. </div>
  229. <a class="anchor" id="a0357f2fa173941800571432dcbc96dc2"></a>
  230. <div class="memitem">
  231. <div class="memproto">
  232. <table class="mlabels">
  233. <tr>
  234. <td class="mlabels-left">
  235. <table class="memname">
  236. <tr>
  237. <td class="memname">double core::Tracklet::CompareTo </td>
  238. <td>(</td>
  239. <td class="paramtype">ObjectDataPtr&#160;</td>
  240. <td class="paramname"><em>obj</em></td><td>)</td>
  241. <td> const</td>
  242. </tr>
  243. </table>
  244. </td>
  245. <td class="mlabels-right">
  246. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  247. </tr>
  248. </table>
  249. </div><div class="memdoc">
  250. <p>Compares this object with the given object. </p><dl class="params"><dt>Parameters</dt><dd>
  251. <table class="params">
  252. <tr><td class="paramname">obj</td><td>A pointer to the object to compare this object to </td></tr>
  253. </table>
  254. </dd>
  255. </dl>
  256. <dl class="section return"><dt>Returns</dt><dd>A double value indicating the comparison result </dd></dl>
  257. <p>Reimplemented from <a class="el" href="classcore_1_1ObjectData.html#afbf7a1e87235f1b204d4d2eb8a37a9a6">core::ObjectData</a>.</p>
  258. </div>
  259. </div>
  260. <a class="anchor" id="a2bdb2f2c8249145808e7029dde6e7df0"></a>
  261. <div class="memitem">
  262. <div class="memproto">
  263. <table class="memname">
  264. <tr>
  265. <td class="memname">void core::Tracklet::Flatten </td>
  266. <td>(</td>
  267. <td class="paramname"></td><td>)</td>
  268. <td></td>
  269. </tr>
  270. </table>
  271. </div><div class="memdoc">
  272. <p>Flattens the current tracklet one level. That means, that if this tracklet contains other tracklets as path objects, their path objects are all extracted and used as the new path objects of this tracklet. The old tracklet path objects are removed. </p>
  273. </div>
  274. </div>
  275. <a class="anchor" id="a1b963319d6c65614baec02a925f31691"></a>
  276. <div class="memitem">
  277. <div class="memproto">
  278. <table class="memname">
  279. <tr>
  280. <td class="memname">size_t core::Tracklet::GetFirstFrameIndex </td>
  281. <td>(</td>
  282. <td class="paramname"></td><td>)</td>
  283. <td> const</td>
  284. </tr>
  285. </table>
  286. </div><div class="memdoc">
  287. <p>Gets the lowest frame index of all path objects. </p><dl class="section return"><dt>Returns</dt><dd>The lowest frame index </dd></dl>
  288. </div>
  289. </div>
  290. <a class="anchor" id="a5a0e56045f8c1868b46db87700658260"></a>
  291. <div class="memitem">
  292. <div class="memproto">
  293. <table class="memname">
  294. <tr>
  295. <td class="memname">ObjectDataPtr core::Tracklet::GetFrameObject </td>
  296. <td>(</td>
  297. <td class="paramtype">size_t&#160;</td>
  298. <td class="paramname"><em>frame_index</em></td><td>)</td>
  299. <td></td>
  300. </tr>
  301. </table>
  302. </div><div class="memdoc">
  303. <p>Gets the detected object at the given frame index or a nullptr if there is not detection.</p>
  304. <dl class="params"><dt>Parameters</dt><dd>
  305. <table class="params">
  306. <tr><td class="paramname">frame_index</td><td>The index of the frame to take the detection from </td></tr>
  307. </table>
  308. </dd>
  309. </dl>
  310. <dl class="section return"><dt>Returns</dt><dd>A pointer to the detection in the given frame </dd></dl>
  311. </div>
  312. </div>
  313. <a class="anchor" id="ad8e195b523cf2021394455cc21867d96"></a>
  314. <div class="memitem">
  315. <div class="memproto">
  316. <table class="memname">
  317. <tr>
  318. <td class="memname">size_t core::Tracklet::GetLastFrameIndex </td>
  319. <td>(</td>
  320. <td class="paramname"></td><td>)</td>
  321. <td> const</td>
  322. </tr>
  323. </table>
  324. </div><div class="memdoc">
  325. <p>Gets the highest frame index of all path objects. </p><dl class="section return"><dt>Returns</dt><dd>The highest frame index </dd></dl>
  326. </div>
  327. </div>
  328. <a class="anchor" id="a9758349e8f25c479ffc4b21a90149a81"></a>
  329. <div class="memitem">
  330. <div class="memproto">
  331. <table class="memname">
  332. <tr>
  333. <td class="memname">ObjectDataPtr core::Tracklet::GetPathObject </td>
  334. <td>(</td>
  335. <td class="paramtype">size_t&#160;</td>
  336. <td class="paramname"><em>i</em></td><td>)</td>
  337. <td></td>
  338. </tr>
  339. </table>
  340. </div><div class="memdoc">
  341. <p>Gets the path object at the given index. The index is NOT the frame index </p><dl class="section return"><dt>Returns</dt><dd>A pointer to the path object </dd></dl>
  342. </div>
  343. </div>
  344. <a class="anchor" id="aee4298a7b734b2b7533d4536006a8aa8"></a>
  345. <div class="memitem">
  346. <div class="memproto">
  347. <table class="memname">
  348. <tr>
  349. <td class="memname">size_t core::Tracklet::GetPathObjectCount </td>
  350. <td>(</td>
  351. <td class="paramname"></td><td>)</td>
  352. <td> const</td>
  353. </tr>
  354. </table>
  355. </div><div class="memdoc">
  356. <p>Gets the count of all path objects. </p><dl class="section return"><dt>Returns</dt><dd>The path object count </dd></dl>
  357. </div>
  358. </div>
  359. <a class="anchor" id="a5fb5e6ab9df668c3477e8b52f115b188"></a>
  360. <div class="memitem">
  361. <div class="memproto">
  362. <table class="mlabels">
  363. <tr>
  364. <td class="mlabels-left">
  365. <table class="memname">
  366. <tr>
  367. <td class="memname">ObjectDataPtr core::Tracklet::Interpolate </td>
  368. <td>(</td>
  369. <td class="paramtype">ObjectDataPtr&#160;</td>
  370. <td class="paramname"><em>obj</em>, </td>
  371. </tr>
  372. <tr>
  373. <td class="paramkey"></td>
  374. <td></td>
  375. <td class="paramtype">double&#160;</td>
  376. <td class="paramname"><em>fraction</em>&#160;</td>
  377. </tr>
  378. <tr>
  379. <td></td>
  380. <td>)</td>
  381. <td></td><td> const</td>
  382. </tr>
  383. </table>
  384. </td>
  385. <td class="mlabels-right">
  386. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  387. </tr>
  388. </table>
  389. </div><div class="memdoc">
  390. <p>Linearly interpolates between this and the given object. Creates a new object to fit between the two objects. </p><dl class="params"><dt>Parameters</dt><dd>
  391. <table class="params">
  392. <tr><td class="paramname">obj</td><td>A pointer to the target object </td></tr>
  393. <tr><td class="paramname">fraction</td><td>Describes where the interpolation should be done. A fraction of zero is a clone of this object, a fraction of one is a clone of the target object. </td></tr>
  394. </table>
  395. </dd>
  396. </dl>
  397. <dl class="section return"><dt>Returns</dt><dd>The interpolated object </dd></dl>
  398. <p>Reimplemented from <a class="el" href="classcore_1_1ObjectData.html#ad681915317decab76c384a635fc8444e">core::ObjectData</a>.</p>
  399. </div>
  400. </div>
  401. <a class="anchor" id="a10b56b608b24ef547550540e5a755bce"></a>
  402. <div class="memitem">
  403. <div class="memproto">
  404. <table class="memname">
  405. <tr>
  406. <td class="memname">void core::Tracklet::InterpolateMissingFrames </td>
  407. <td>(</td>
  408. <td class="paramname"></td><td>)</td>
  409. <td></td>
  410. </tr>
  411. </table>
  412. </div><div class="memdoc">
  413. <p>Interpolates between the current path objects until every missing frame has an object. Only frames between the first frame index and the last frame index are interpolated. </p>
  414. </div>
  415. </div>
  416. <a class="anchor" id="a3a2b241939559e47aef701d2e2c4d4bd"></a>
  417. <div class="memitem">
  418. <div class="memproto">
  419. <table class="memname">
  420. <tr>
  421. <td class="memname">void core::Tracklet::Visualize </td>
  422. <td>(</td>
  423. <td class="paramtype">cv::Mat &amp;&#160;</td>
  424. <td class="paramname"><em>image</em>, </td>
  425. </tr>
  426. <tr>
  427. <td class="paramkey"></td>
  428. <td></td>
  429. <td class="paramtype">cv::Scalar &amp;&#160;</td>
  430. <td class="paramname"><em>color</em>, </td>
  431. </tr>
  432. <tr>
  433. <td class="paramkey"></td>
  434. <td></td>
  435. <td class="paramtype">size_t&#160;</td>
  436. <td class="paramname"><em>frame</em>, </td>
  437. </tr>
  438. <tr>
  439. <td class="paramkey"></td>
  440. <td></td>
  441. <td class="paramtype">size_t&#160;</td>
  442. <td class="paramname"><em>predecessor_count</em>, </td>
  443. </tr>
  444. <tr>
  445. <td class="paramkey"></td>
  446. <td></td>
  447. <td class="paramtype">size_t&#160;</td>
  448. <td class="paramname"><em>successor_count</em>&#160;</td>
  449. </tr>
  450. <tr>
  451. <td></td>
  452. <td>)</td>
  453. <td></td><td> const</td>
  454. </tr>
  455. </table>
  456. </div><div class="memdoc">
  457. <p>Visualizes the tracklet by visualizing the path object in the given frame and the number of path objects in the given range before and after the given frame. </p><dl class="params"><dt>Parameters</dt><dd>
  458. <table class="params">
  459. <tr><td class="paramname">image</td><td>The image to write into </td></tr>
  460. <tr><td class="paramname">color</td><td>The color to use </td></tr>
  461. <tr><td class="paramname">frame</td><td>The frame index to visualize the path objects from </td></tr>
  462. <tr><td class="paramname">predecessor_count</td><td>The number of path objects to visualize before the given frame </td></tr>
  463. <tr><td class="paramname">successor_count</td><td>The number of path objects to visualize after the given frame </td></tr>
  464. </table>
  465. </dd>
  466. </dl>
  467. </div>
  468. </div>
  469. <a class="anchor" id="a85f92a4059bf89f24a83f28935675181"></a>
  470. <div class="memitem">
  471. <div class="memproto">
  472. <table class="mlabels">
  473. <tr>
  474. <td class="mlabels-left">
  475. <table class="memname">
  476. <tr>
  477. <td class="memname">void core::Tracklet::Visualize </td>
  478. <td>(</td>
  479. <td class="paramtype">cv::Mat &amp;&#160;</td>
  480. <td class="paramname"><em>image</em>, </td>
  481. </tr>
  482. <tr>
  483. <td class="paramkey"></td>
  484. <td></td>
  485. <td class="paramtype">cv::Scalar &amp;&#160;</td>
  486. <td class="paramname"><em>color</em>&#160;</td>
  487. </tr>
  488. <tr>
  489. <td></td>
  490. <td>)</td>
  491. <td></td><td> const</td>
  492. </tr>
  493. </table>
  494. </td>
  495. <td class="mlabels-right">
  496. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  497. </tr>
  498. </table>
  499. </div><div class="memdoc">
  500. <p>Visualizes the object in the given image with the given color. This method does nothing, it needs to be overwritten to visualize something. </p><dl class="params"><dt>Parameters</dt><dd>
  501. <table class="params">
  502. <tr><td class="paramname">image</td><td>The image to write into </td></tr>
  503. <tr><td class="paramname">color</td><td>The color to use </td></tr>
  504. </table>
  505. </dd>
  506. </dl>
  507. <p>Reimplemented from <a class="el" href="classcore_1_1ObjectData.html#aae2c4fceddc529570dbe8909309f9961">core::ObjectData</a>.</p>
  508. </div>
  509. </div>
  510. <hr/>The documentation for this class was generated from the following files:<ul>
  511. <li>core/<a class="el" href="Tracklet_8h_source.html">Tracklet.h</a></li>
  512. <li>core/Tracklet.cpp</li>
  513. </ul>
  514. </div><!-- contents -->
  515. <!-- start footer part -->
  516. <hr class="footer"/><address class="footer"><small>
  517. Generated by &#160;<a href="http://www.doxygen.org/index.html">
  518. <img class="footer" src="doxygen.png" alt="doxygen"/>
  519. </a> 1.8.12
  520. </small></address>
  521. </body>
  522. </html>