<!-- Copyright (c) 2020 ARM Limited. -->
<!--                                 -->
<!-- SPDX-License-Identifier: MIT    -->
<!--                                 -->
<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.13"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: YoloDetectedObject Struct 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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</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>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.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;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">20.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('struct_yolo_detected_object.xhtml','');});
</script>
<div id="doc-content">
<!-- 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 class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="struct_yolo_detected_object-members.xhtml">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">YoloDetectedObject Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_yolo_database_8hpp_source.xhtml">YoloDatabase.hpp</a>&gt;</code></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:ac003043561cd6ad4aaed5a9077a3f96e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_yolo_detected_object.xhtml#ac003043561cd6ad4aaed5a9077a3f96e">YoloDetectedObject</a> (unsigned int yoloClass, const <a class="el" href="struct_yolo_bounding_box.xhtml">YoloBoundingBox</a> &amp;box, float confidence)</td></tr>
<tr class="separator:ac003043561cd6ad4aaed5a9077a3f96e"><td class="memSeparator" colspan="2">&#160;</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:a80722ddbfd9312e7abb6a707df0798f2"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_yolo_detected_object.xhtml#a80722ddbfd9312e7abb6a707df0798f2">m_Class</a></td></tr>
<tr class="separator:a80722ddbfd9312e7abb6a707df0798f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16c213c3cb6176f80486425a4b2ab758"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_yolo_bounding_box.xhtml">YoloBoundingBox</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_yolo_detected_object.xhtml#a16c213c3cb6176f80486425a4b2ab758">m_Box</a></td></tr>
<tr class="separator:a16c213c3cb6176f80486425a4b2ab758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2eb9b5a8cccfba5e0db706d9d9631375"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_yolo_detected_object.xhtml#a2eb9b5a8cccfba5e0db706d9d9631375">m_Confidence</a></td></tr>
<tr class="separator:a2eb9b5a8cccfba5e0db706d9d9631375"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="_yolo_database_8hpp_source.xhtml#l00021">21</a> of file <a class="el" href="_yolo_database_8hpp_source.xhtml">YoloDatabase.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ac003043561cd6ad4aaed5a9077a3f96e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac003043561cd6ad4aaed5a9077a3f96e">&#9670;&nbsp;</a></span>YoloDetectedObject()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_yolo_detected_object.xhtml">YoloDetectedObject</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>yoloClass</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_yolo_bounding_box.xhtml">YoloBoundingBox</a> &amp;&#160;</td>
          <td class="paramname"><em>box</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>confidence</em>&#160;</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 class="definition">Definition at line <a class="el" href="_yolo_database_8hpp_source.xhtml#l00023">23</a> of file <a class="el" href="_yolo_database_8hpp_source.xhtml">YoloDatabase.hpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;     : <a class="code" href="struct_yolo_detected_object.xhtml#a80722ddbfd9312e7abb6a707df0798f2">m_Class</a>(yoloClass)</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;     , <a class="code" href="struct_yolo_detected_object.xhtml#a16c213c3cb6176f80486425a4b2ab758">m_Box</a>(box)</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;     , <a class="code" href="struct_yolo_detected_object.xhtml#a2eb9b5a8cccfba5e0db706d9d9631375">m_Confidence</a>(confidence)</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    {}</div><div class="ttc" id="struct_yolo_detected_object_xhtml_a16c213c3cb6176f80486425a4b2ab758"><div class="ttname"><a href="struct_yolo_detected_object.xhtml#a16c213c3cb6176f80486425a4b2ab758">YoloDetectedObject::m_Box</a></div><div class="ttdeci">YoloBoundingBox m_Box</div><div class="ttdef"><b>Definition:</b> <a href="_yolo_database_8hpp_source.xhtml#l00032">YoloDatabase.hpp:32</a></div></div>
<div class="ttc" id="struct_yolo_detected_object_xhtml_a2eb9b5a8cccfba5e0db706d9d9631375"><div class="ttname"><a href="struct_yolo_detected_object.xhtml#a2eb9b5a8cccfba5e0db706d9d9631375">YoloDetectedObject::m_Confidence</a></div><div class="ttdeci">float m_Confidence</div><div class="ttdef"><b>Definition:</b> <a href="_yolo_database_8hpp_source.xhtml#l00033">YoloDatabase.hpp:33</a></div></div>
<div class="ttc" id="struct_yolo_detected_object_xhtml_a80722ddbfd9312e7abb6a707df0798f2"><div class="ttname"><a href="struct_yolo_detected_object.xhtml#a80722ddbfd9312e7abb6a707df0798f2">YoloDetectedObject::m_Class</a></div><div class="ttdeci">unsigned int m_Class</div><div class="ttdef"><b>Definition:</b> <a href="_yolo_database_8hpp_source.xhtml#l00031">YoloDatabase.hpp:31</a></div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a16c213c3cb6176f80486425a4b2ab758"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16c213c3cb6176f80486425a4b2ab758">&#9670;&nbsp;</a></span>m_Box</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_yolo_bounding_box.xhtml">YoloBoundingBox</a> m_Box</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_yolo_database_8hpp_source.xhtml#l00032">32</a> of file <a class="el" href="_yolo_database_8hpp_source.xhtml">YoloDatabase.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_yolo_inference_test_8hpp_source.xhtml#l00035">YoloTestCase&lt; Model &gt;::ProcessResult()</a>.</p>

</div>
</div>
<a id="a80722ddbfd9312e7abb6a707df0798f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80722ddbfd9312e7abb6a707df0798f2">&#9670;&nbsp;</a></span>m_Class</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int m_Class</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_yolo_database_8hpp_source.xhtml#l00031">31</a> of file <a class="el" href="_yolo_database_8hpp_source.xhtml">YoloDatabase.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_yolo_inference_test_8hpp_source.xhtml#l00035">YoloTestCase&lt; Model &gt;::ProcessResult()</a>.</p>

</div>
</div>
<a id="a2eb9b5a8cccfba5e0db706d9d9631375"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2eb9b5a8cccfba5e0db706d9d9631375">&#9670;&nbsp;</a></span>m_Confidence</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float m_Confidence</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_yolo_database_8hpp_source.xhtml#l00033">33</a> of file <a class="el" href="_yolo_database_8hpp_source.xhtml">YoloDatabase.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="_yolo_inference_test_8hpp_source.xhtml#l00035">YoloTestCase&lt; Model &gt;::ProcessResult()</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>tests/<a class="el" href="_yolo_database_8hpp_source.xhtml">YoloDatabase.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="struct_yolo_detected_object.xhtml">YoloDetectedObject</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:16 for ArmNN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
