Files
openpose/html/structop_1_1_wrapper_struct_hand.html

351 lines
20 KiB
HTML

<!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.6"/>
<title>OpenPose: op::WrapperStructHand 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="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">OpenPose
&#160;<span id="projectnumber">1.0.0rc2</span>
</div>
<div id="projectbrief">OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</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('structop_1_1_wrapper_struct_hand.html','');});
</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)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></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="structop_1_1_wrapper_struct_hand-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">op::WrapperStructHand Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="wrapper_struct_hand_8hpp_source.html">wrapperStructHand.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:aaa42d271c3cb7fa3a071d4785644c0a8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_hand.html#aaa42d271c3cb7fa3a071d4785644c0a8">WrapperStructHand</a> (const bool <a class="el" href="structop_1_1_wrapper_struct_hand.html#a667ad7eed9f4f96b460f331d25f3d87f">enable</a>=false, const <a class="el" href="structop_1_1_point.html">Point</a>&lt; int &gt; &amp;<a class="el" href="structop_1_1_wrapper_struct_hand.html#a6a54d5b5766d23412c87bd10c26cb291">netInputSize</a>=<a class="el" href="structop_1_1_point.html">Point</a>&lt; int &gt;{368, 368}, const int <a class="el" href="structop_1_1_wrapper_struct_hand.html#aea6263dc96708b11fab72416d810b3d6">scalesNumber</a>=1, const float <a class="el" href="structop_1_1_wrapper_struct_hand.html#adaea15e182e5c75129293873cd94e35f">scaleRange</a>=0.4f, const bool tracking=false, const RenderMode renderMode=RenderMode::Gpu, const float alphaKeypoint=HAND_DEFAULT_ALPHA_KEYPOINT, const float alphaHeatMap=HAND_DEFAULT_ALPHA_HEAT_MAP, const float renderThreshold=0.2f)</td></tr>
<tr class="separator:aaa42d271c3cb7fa3a071d4785644c0a8"><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:a667ad7eed9f4f96b460f331d25f3d87f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_hand.html#a667ad7eed9f4f96b460f331d25f3d87f">enable</a></td></tr>
<tr class="separator:a667ad7eed9f4f96b460f331d25f3d87f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a54d5b5766d23412c87bd10c26cb291"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structop_1_1_point.html">Point</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_hand.html#a6a54d5b5766d23412c87bd10c26cb291">netInputSize</a></td></tr>
<tr class="separator:a6a54d5b5766d23412c87bd10c26cb291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea6263dc96708b11fab72416d810b3d6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_hand.html#aea6263dc96708b11fab72416d810b3d6">scalesNumber</a></td></tr>
<tr class="separator:aea6263dc96708b11fab72416d810b3d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaea15e182e5c75129293873cd94e35f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_hand.html#adaea15e182e5c75129293873cd94e35f">scaleRange</a></td></tr>
<tr class="separator:adaea15e182e5c75129293873cd94e35f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86ca862d3d24a5cf0b1122b64aac7a68"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_hand.html#a86ca862d3d24a5cf0b1122b64aac7a68">tracking</a></td></tr>
<tr class="separator:a86ca862d3d24a5cf0b1122b64aac7a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90ddd24ee55b6aabd9a1728ccd91525e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceop.html#afce557f02e337e16150d00bdf72ec033">RenderMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_hand.html#a90ddd24ee55b6aabd9a1728ccd91525e">renderMode</a></td></tr>
<tr class="separator:a90ddd24ee55b6aabd9a1728ccd91525e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8074cf22f8926d7f4d1d60cacae99c3e"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_hand.html#a8074cf22f8926d7f4d1d60cacae99c3e">alphaKeypoint</a></td></tr>
<tr class="separator:a8074cf22f8926d7f4d1d60cacae99c3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a716f9c98cbee1a4a70d5978875795c4d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_hand.html#a716f9c98cbee1a4a70d5978875795c4d">alphaHeatMap</a></td></tr>
<tr class="separator:a716f9c98cbee1a4a70d5978875795c4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9655c0dfa83eefde174d09e622482089"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_hand.html#a9655c0dfa83eefde174d09e622482089">renderThreshold</a></td></tr>
<tr class="separator:a9655c0dfa83eefde174d09e622482089"><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><a class="el" href="structop_1_1_wrapper_struct_hand.html">WrapperStructHand</a>: Hand estimation and rendering configuration struct. <a class="el" href="structop_1_1_wrapper_struct_hand.html">WrapperStructHand</a> allows the user to set up the hand estimation and rendering parameters that will be used for the OpenPose <a class="el" href="classop_1_1_wrapper_t.html">WrapperT</a> template and Wrapper class. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aaa42d271c3cb7fa3a071d4785644c0a8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">op::WrapperStructHand::WrapperStructHand </td>
<td>(</td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>enable</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structop_1_1_point.html">Point</a>&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>netInputSize</em> = <code><a class="el" href="structop_1_1_point.html">Point</a>&lt;&#160;int&#160;&gt;{368,&#160;368}</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>scalesNumber</em> = <code>1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float&#160;</td>
<td class="paramname"><em>scaleRange</em> = <code>0.4f</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>tracking</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespaceop.html#afce557f02e337e16150d00bdf72ec033">RenderMode</a>&#160;</td>
<td class="paramname"><em>renderMode</em> = <code><a class="el" href="namespaceop.html#afce557f02e337e16150d00bdf72ec033a3432ca64f06615abf07ab44c10cada38">RenderMode::Gpu</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float&#160;</td>
<td class="paramname"><em>alphaKeypoint</em> = <code><a class="el" href="namespaceop.html#aa8cc53d2fe5353f9d87d50c32a8c1a95">HAND_DEFAULT_ALPHA_KEYPOINT</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float&#160;</td>
<td class="paramname"><em>alphaHeatMap</em> = <code><a class="el" href="namespaceop.html#a76c1f1ea90b73e13e93f72413b3cab0e">HAND_DEFAULT_ALPHA_HEAT_MAP</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float&#160;</td>
<td class="paramname"><em>renderThreshold</em> = <code>0.2f</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor of the struct. It has the recommended and default values we recommend for each element of the struct. Since all the elements of the struct are public, they can also be manually filled. </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a716f9c98cbee1a4a70d5978875795c4d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float op::WrapperStructHand::alphaHeatMap</td>
</tr>
</table>
</div><div class="memdoc">
<p>Rendering blending alpha value of the heat maps (hand part, background or PAF) with respect to the background image. Value in the range [0, 1]. 0 will only render the background, 1 will only render the heat map. </p>
</div>
</div>
<a class="anchor" id="a8074cf22f8926d7f4d1d60cacae99c3e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float op::WrapperStructHand::alphaKeypoint</td>
</tr>
</table>
</div><div class="memdoc">
<p>Rendering blending alpha value of the pose point locations with respect to the background image. Value in the range [0, 1]. 0 will only render the background, 1 will fully render the pose. </p>
</div>
</div>
<a class="anchor" id="a667ad7eed9f4f96b460f331d25f3d87f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool op::WrapperStructHand::enable</td>
</tr>
</table>
</div><div class="memdoc">
<p>Whether to extract hand. </p>
</div>
</div>
<a class="anchor" id="a6a54d5b5766d23412c87bd10c26cb291"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structop_1_1_point.html">Point</a>&lt;int&gt; op::WrapperStructHand::netInputSize</td>
</tr>
</table>
</div><div class="memdoc">
<p>CCN (Conv <a class="el" href="classop_1_1_net.html">Net</a>) input size. The greater, the slower and more memory it will be needed, but it will potentially increase accuracy. Both width and height must be divisible by 16. </p>
</div>
</div>
<a class="anchor" id="a90ddd24ee55b6aabd9a1728ccd91525e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceop.html#afce557f02e337e16150d00bdf72ec033">RenderMode</a> op::WrapperStructHand::renderMode</td>
</tr>
</table>
</div><div class="memdoc">
<p>Whether to render the output (pose locations, body, background or PAF heat maps) with CPU or GPU. Select <code>None</code> for no rendering, <code>Cpu</code> or <code>Gpu</code> por CPU and GPU rendering respectively. </p>
</div>
</div>
<a class="anchor" id="a9655c0dfa83eefde174d09e622482089"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float op::WrapperStructHand::renderThreshold</td>
</tr>
</table>
</div><div class="memdoc">
<p>Rendering threshold. Only estimated keypoints whose score confidences are higher than this value will be rendered. Generally, a high threshold (&gt; 0.5) will only render very clear body parts; while small thresholds (~0.1) will also output guessed and occluded keypoints, but also more false positives (i.e., wrong detections). </p>
</div>
</div>
<a class="anchor" id="adaea15e182e5c75129293873cd94e35f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float op::WrapperStructHand::scaleRange</td>
</tr>
</table>
</div><div class="memdoc">
<p>Total range between smallest and biggest scale. The scales will be centered in ratio 1. E.g., if scaleRange = 0.4 and scalesNumber = 2, then there will be 2 scales, 0.8 and 1.2. </p>
</div>
</div>
<a class="anchor" id="aea6263dc96708b11fab72416d810b3d6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int op::WrapperStructHand::scalesNumber</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of scales to process. The greater, the slower and more memory it will be needed, but it will potentially increase accuracy. This parameter is related with scaleRange, such as the final pose estimation will be an average of the predicted results for each scale. </p>
</div>
</div>
<a class="anchor" id="a86ca862d3d24a5cf0b1122b64aac7a68"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool op::WrapperStructHand::tracking</td>
</tr>
</table>
</div><div class="memdoc">
<p>Whether to add tracking between frames. Adding hand tracking might improve hand keypoints detection for webcam (if the frame rate is high enough, i.e., &gt;7 FPS per GPU) and video. This is not person ID tracking, it simply looks for hands in positions at which hands were located in previous frames, but it does not guarantee the same person id among frames. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/wrapper/<a class="el" href="wrapper_struct_hand_8hpp_source.html">wrapperStructHand.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="namespaceop.html">op</a></li><li class="navelem"><a class="el" href="structop_1_1_wrapper_struct_hand.html">WrapperStructHand</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>