Deploy code docs to GitHub Pages Travis build: 407

Commit: a8c23f03a7
This commit is contained in:
Travis CI
2018-10-31 16:24:39 +00:00
parent 5c2714d605
commit 0b965cf0cb
54 changed files with 889 additions and 749 deletions
+3 -2
View File
@@ -1064,9 +1064,10 @@ Generating docs for compound op::FaceExtractorCaffe...
Genera/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/face/faceExtractorNet.hpp:18: warning: The following parameters of op::FaceExtractorNet::FaceExtractorNet(const Point< int > &netInputSize, const Point< int > &netOutputSize, const std::vector< HeatMapType > &heatMapTypes={}, const ScaleMode heatMapScale=ScaleMode::ZeroToOne) are not documented:
parameter 'heatMapTypes'
parameter 'heatMapScale'
/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/cocoJsonSaver.hpp:18: warning: The following parameters of op::CocoJsonSaver::CocoJsonSaver(const std::string &filePathToSave, const bool humanReadable=true, const CocoJsonFormat cocoJsonFormat=CocoJsonFormat::Body) are not documented:
/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/filestream/cocoJsonSaver.hpp:18: warning: The following parameters of op::CocoJsonSaver::CocoJsonSaver(const std::string &filePathToSave, const bool humanReadable=true, const CocoJsonFormat cocoJsonFormat=CocoJsonFormat::Body, const int mCocoJsonVariant=0) are not documented:
parameter 'humanReadable'
parameter 'cocoJsonFormat'
parameter 'mCocoJsonVariant'
/home/travis/build/CMU-Perceptual-Computing-Lab/openpose/include/openpose/hand/handExtractorCaffe.hpp:18: warning: The following parameters of op::HandExtractorCaffe::HandExtractorCaffe(const Point< int > &netInputSize, const Point< int > &netOutputSize, const std::string &modelFolder, const int gpuId, const unsigned short numberScales=1, const float rangeScales=0.4f, const std::vector< HeatMapType > &heatMapTypes={}, const ScaleMode heatMapScale=ScaleMode::ZeroToOne, const bool enableGoogleLogging=true) are not documented:
parameter 'heatMapTypes'
parameter 'heatMapScale'
@@ -1225,5 +1226,5 @@ Generating file index...
Generating file member index...
Generating example index...
finalizing index lists...
lookup cache used 4980/65536 hits=38456 misses=5343
lookup cache used 4983/65536 hits=38475 misses=5346
finished...
+1 -1
View File
@@ -1333,7 +1333,7 @@ template&lt;typename T&gt; </div>
</tr>
</table>
</div><div class="memdoc">
<p>It returns a string with the whole array data. Useful for debugging. The format is: values separated by a space, and a enter for each dimension. E.g.: For the <a class="el" href="classop_1_1_array.html">Array</a>{2, 2, 3}, it will print: <a class="el" href="classop_1_1_array.html#ae3ec6553128d77b0c26b848c0a0f81ca">Array&lt;T&gt;::toString()</a>: x1 x2 x3 x4 x5 x6</p>
<p>It returns a string with the whole array data. Useful for debugging. The format is: values separated by a space, and a enter for each dimension. E.g., For the <a class="el" href="classop_1_1_array.html">Array</a>{2, 2, 3}, it will print: <a class="el" href="classop_1_1_array.html#ae3ec6553128d77b0c26b848c0a0f81ca">Array&lt;T&gt;::toString()</a>: x1 x2 x3 x4 x5 x6</p>
<p>x7 x8 x9 x10 x11 x12 </p>
<dl class="section return"><dt>Returns</dt><dd>A string with the array values in the above format. </dd></dl>
@@ -112,7 +112,7 @@ $(document).ready(function(){initNavTree('classop_1_1_coco_json_saver.html','');
<p>This is the complete list of members for <a class="el" href="classop_1_1_coco_json_saver.html">op::CocoJsonSaver</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classop_1_1_coco_json_saver.html#a0ce96fcd7dfaa2791f514a8363d018ff">CocoJsonSaver</a>(const std::string &amp;filePathToSave, const bool humanReadable=true, const CocoJsonFormat cocoJsonFormat=CocoJsonFormat::Body)</td><td class="entry"><a class="el" href="classop_1_1_coco_json_saver.html">op::CocoJsonSaver</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classop_1_1_coco_json_saver.html#a380d4638d09cfe9c26551cc2efb7c3a8">CocoJsonSaver</a>(const std::string &amp;filePathToSave, const bool humanReadable=true, const CocoJsonFormat cocoJsonFormat=CocoJsonFormat::Body, const int mCocoJsonVariant=0)</td><td class="entry"><a class="el" href="classop_1_1_coco_json_saver.html">op::CocoJsonSaver</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classop_1_1_coco_json_saver.html#a3a7fd417aa5d85044fb0703379af1a23">record</a>(const Array&lt; float &gt; &amp;poseKeypoints, const Array&lt; float &gt; &amp;poseScores, const std::string &amp;imageName)</td><td class="entry"><a class="el" href="classop_1_1_coco_json_saver.html">op::CocoJsonSaver</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classop_1_1_coco_json_saver.html#a8bbfab84a7816cb0f189f243246f744b">~CocoJsonSaver</a>()</td><td class="entry"><a class="el" href="classop_1_1_coco_json_saver.html">op::CocoJsonSaver</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
+10 -4
View File
@@ -117,8 +117,8 @@ $(document).ready(function(){initNavTree('classop_1_1_coco_json_saver.html','');
<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:a0ce96fcd7dfaa2791f514a8363d018ff"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classop_1_1_coco_json_saver.html#a0ce96fcd7dfaa2791f514a8363d018ff">CocoJsonSaver</a> (const std::string &amp;filePathToSave, const bool humanReadable=true, const <a class="el" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">CocoJsonFormat</a> cocoJsonFormat=<a class="el" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8">CocoJsonFormat::Body</a>)</td></tr>
<tr class="separator:a0ce96fcd7dfaa2791f514a8363d018ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a380d4638d09cfe9c26551cc2efb7c3a8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classop_1_1_coco_json_saver.html#a380d4638d09cfe9c26551cc2efb7c3a8">CocoJsonSaver</a> (const std::string &amp;filePathToSave, const bool humanReadable=true, const <a class="el" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">CocoJsonFormat</a> cocoJsonFormat=<a class="el" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8">CocoJsonFormat::Body</a>, const int mCocoJsonVariant=0)</td></tr>
<tr class="separator:a380d4638d09cfe9c26551cc2efb7c3a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bbfab84a7816cb0f189f243246f744b"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classop_1_1_coco_json_saver.html#a8bbfab84a7816cb0f189f243246f744b">~CocoJsonSaver</a> ()</td></tr>
<tr class="separator:a8bbfab84a7816cb0f189f243246f744b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a7fd417aa5d85044fb0703379af1a23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classop_1_1_coco_json_saver.html#a3a7fd417aa5d85044fb0703379af1a23">record</a> (const <a class="el" href="classop_1_1_array.html">Array</a>&lt; float &gt; &amp;poseKeypoints, const <a class="el" href="classop_1_1_array.html">Array</a>&lt; float &gt; &amp;poseScores, const std::string &amp;imageName)</td></tr>
@@ -127,7 +127,7 @@ Public Member Functions</h2></td></tr>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The <a class="el" href="classop_1_1_coco_json_saver.html">CocoJsonSaver</a> class creates a COCO validation json file with details about the processed images. It inherits from Recorder. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0ce96fcd7dfaa2791f514a8363d018ff"></a>
<a class="anchor" id="a380d4638d09cfe9c26551cc2efb7c3a8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@@ -150,7 +150,13 @@ Public Member Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">CocoJsonFormat</a>&#160;</td>
<td class="paramname"><em>cocoJsonFormat</em> = <code><a class="el" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8">CocoJsonFormat::Body</a></code>&#160;</td>
<td class="paramname"><em>cocoJsonFormat</em> = <code><a class="el" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8">CocoJsonFormat::Body</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>mCocoJsonVariant</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
+1 -1
View File
@@ -1,6 +1,6 @@
var classop_1_1_coco_json_saver =
[
[ "CocoJsonSaver", "classop_1_1_coco_json_saver.html#a0ce96fcd7dfaa2791f514a8363d018ff", null ],
[ "CocoJsonSaver", "classop_1_1_coco_json_saver.html#a380d4638d09cfe9c26551cc2efb7c3a8", null ],
[ "~CocoJsonSaver", "classop_1_1_coco_json_saver.html#a8bbfab84a7816cb0f189f243246f744b", null ],
[ "record", "classop_1_1_coco_json_saver.html#a3a7fd417aa5d85044fb0703379af1a23", null ]
];
+1 -1
View File
@@ -286,7 +286,7 @@ Additional Inherited Members</h2></td></tr>
<p>This function extracts the face keypoints for each detected face in the image. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">faceRectangles</td><td>location of the faces in the image. It is a length-variable std::vector, where each index corresponds to a different person in the image. Internally, a op::Rectangle&lt;float&gt; (similar to cv::Rect for floating values) with the position of that face (or 0,0,0,0 if some face is missing, e.g. if a specific person has only half of the body inside the image). </td></tr>
<tr><td class="paramname">faceRectangles</td><td>location of the faces in the image. It is a length-variable std::vector, where each index corresponds to a different person in the image. Internally, a op::Rectangle&lt;float&gt; (similar to cv::Rect for floating values) with the position of that face (or 0,0,0,0 if some face is missing, e.g., if a specific person has only half of the body inside the image). </td></tr>
<tr><td class="paramname">cvInputData</td><td>Original image in cv::Mat format and BGR format. </td></tr>
</table>
</dd>
+1 -1
View File
@@ -276,7 +276,7 @@ Protected Attributes</h2></td></tr>
<p>This function extracts the face keypoints for each detected face in the image. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">faceRectangles</td><td>location of the faces in the image. It is a length-variable std::vector, where each index corresponds to a different person in the image. Internally, a op::Rectangle&lt;float&gt; (similar to cv::Rect for floating values) with the position of that face (or 0,0,0,0 if some face is missing, e.g. if a specific person has only half of the body inside the image). </td></tr>
<tr><td class="paramname">faceRectangles</td><td>location of the faces in the image. It is a length-variable std::vector, where each index corresponds to a different person in the image. Internally, a op::Rectangle&lt;float&gt; (similar to cv::Rect for floating values) with the position of that face (or 0,0,0,0 if some face is missing, e.g., if a specific person has only half of the body inside the image). </td></tr>
<tr><td class="paramname">cvInputData</td><td>Original image in cv::Mat format and BGR format. </td></tr>
</table>
</dd>
+1 -1
View File
@@ -378,7 +378,7 @@ Additional Inherited Members</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns a unique frame name (e.g. the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<p>This function returns a unique frame name (e.g., the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<dl class="section return"><dt>Returns</dt><dd>std::string with an unique frame name. </dd></dl>
<p>Implements <a class="el" href="classop_1_1_producer.html#ab35d570dc35573433ec86e3fce25e545">op::Producer</a>.</p>
+2 -2
View File
@@ -289,7 +289,7 @@ Public Member Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This function set the new FrameDisplayer::FullScreenMode (e.g. full screen). </p>
<p>This function set the new FrameDisplayer::FullScreenMode (e.g., full screen). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fullScreenMode</td><td>New FrameDisplayer::FullScreenMode state. </td></tr>
@@ -311,7 +311,7 @@ Public Member Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This function switch between full screen and windowed modes (e.g. when double-click on video players or Ctrt+Enter are presed). </p>
<p>This function switch between full screen and windowed modes (e.g., when double-click on video players or Ctrt+Enter are presed). </p>
</div>
</div>
+1 -1
View File
@@ -306,7 +306,7 @@ short, float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="e
<p>This function extracts the hand keypoints for each detected hand in the image. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handRectangles</td><td>location of the hands in the image. It is a length-variable std::vector, where each index corresponds to a different person in the image. Internally the std::vector, a std::array of 2 elements: index 0 and 1 for left and right hand respectively. Inside each array element, a op::Rectangle&lt;float&gt; (similar to cv::Rect for floating values) with the position of that hand (or 0,0,0,0 if some hand is missing, e.g. if a specific person has only half of the body inside the image). </td></tr>
<tr><td class="paramname">handRectangles</td><td>location of the hands in the image. It is a length-variable std::vector, where each index corresponds to a different person in the image. Internally the std::vector, a std::array of 2 elements: index 0 and 1 for left and right hand respectively. Inside each array element, a op::Rectangle&lt;float&gt; (similar to cv::Rect for floating values) with the position of that hand (or 0,0,0,0 if some hand is missing, e.g., if a specific person has only half of the body inside the image). </td></tr>
<tr><td class="paramname">cvInputData</td><td>Original image in cv::Mat format and BGR format. </td></tr>
</table>
</dd>
+1 -1
View File
@@ -293,7 +293,7 @@ short, float &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="e
<p>This function extracts the hand keypoints for each detected hand in the image. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handRectangles</td><td>location of the hands in the image. It is a length-variable std::vector, where each index corresponds to a different person in the image. Internally the std::vector, a std::array of 2 elements: index 0 and 1 for left and right hand respectively. Inside each array element, a op::Rectangle&lt;float&gt; (similar to cv::Rect for floating values) with the position of that hand (or 0,0,0,0 if some hand is missing, e.g. if a specific person has only half of the body inside the image). </td></tr>
<tr><td class="paramname">handRectangles</td><td>location of the hands in the image. It is a length-variable std::vector, where each index corresponds to a different person in the image. Internally the std::vector, a std::array of 2 elements: index 0 and 1 for left and right hand respectively. Inside each array element, a op::Rectangle&lt;float&gt; (similar to cv::Rect for floating values) with the position of that hand (or 0,0,0,0 if some hand is missing, e.g., if a specific person has only half of the body inside the image). </td></tr>
<tr><td class="paramname">cvInputData</td><td>Original image in cv::Mat format and BGR format. </td></tr>
</table>
</dd>
+1 -1
View File
@@ -380,7 +380,7 @@ Additional Inherited Members</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns a unique frame name (e.g. the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<p>This function returns a unique frame name (e.g., the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<dl class="section return"><dt>Returns</dt><dd>std::string with an unique frame name. </dd></dl>
<p>Implements <a class="el" href="classop_1_1_producer.html#ab35d570dc35573433ec86e3fce25e545">op::Producer</a>.</p>
+1 -1
View File
@@ -372,7 +372,7 @@ Additional Inherited Members</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns a unique frame name (e.g. the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<p>This function returns a unique frame name (e.g., the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<dl class="section return"><dt>Returns</dt><dd>std::string with an unique frame name. </dd></dl>
<p>Implements <a class="el" href="classop_1_1_video_capture_reader.html#a06348fd9a290fc2ece2f3c2e4dc9bc70">op::VideoCaptureReader</a>.</p>
+2 -2
View File
@@ -169,7 +169,7 @@ Protected Member Functions</h2></td></tr>
<tr class="separator:ad51001c3e9f42722c52990d43b315f78"><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="classop_1_1_producer.html">Producer</a> is an abstract class to extract frames from a source (image directory, video file, webcam stream, etc.). It has the basic and common functions (e.g. getFrame, release &amp; isOpened). </p>
<div class="textblock"><p><a class="el" href="classop_1_1_producer.html">Producer</a> is an abstract class to extract frames from a source (image directory, video file, webcam stream, etc.). It has the basic and common functions (e.g., getFrame, release &amp; isOpened). </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a4fe2921798031db39fef934848a23c82"></a>
<div class="memitem">
@@ -481,7 +481,7 @@ Protected Member Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns a unique frame name (e.g. the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<p>This function returns a unique frame name (e.g., the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<dl class="section return"><dt>Returns</dt><dd>std::string with an unique frame name. </dd></dl>
<p>Implemented in <a class="el" href="classop_1_1_image_directory_reader.html#a46ce23209afe6d3ca90db545b69cd04a">op::ImageDirectoryReader</a>, <a class="el" href="classop_1_1_video_capture_reader.html#a06348fd9a290fc2ece2f3c2e4dc9bc70">op::VideoCaptureReader</a>, <a class="el" href="classop_1_1_video_reader.html#a508eed918fbe3bfe3eff4c1ebacb3463">op::VideoReader</a>, <a class="el" href="classop_1_1_webcam_reader.html#a58c315e577c12486e5ab1b941d4cce04">op::WebcamReader</a>, <a class="el" href="classop_1_1_flir_reader.html#a711db0919bd7516fde3e641c13259637">op::FlirReader</a>, and <a class="el" href="classop_1_1_ip_camera_reader.html#a0c1582090cc7c54dd9cb752207b52986">op::IpCameraReader</a>.</p>
+2 -2
View File
@@ -181,7 +181,7 @@ Protected Member Functions</h2></td></tr>
<tr class="separator:afad3eadd16cca0de2c2be8b083c0d56d inherit pro_methods_classop_1_1_producer"><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="classop_1_1_video_capture_reader.html">VideoCaptureReader</a> is an abstract class to extract frames from a cv::VideoCapture source (video file, webcam stream, etc.). It has the basic and common functions of the cv::VideoCapture class (e.g. get, set, etc.). </p>
<div class="textblock"><p><a class="el" href="classop_1_1_video_capture_reader.html">VideoCaptureReader</a> is an abstract class to extract frames from a cv::VideoCapture source (video file, webcam stream, etc.). It has the basic and common functions of the cv::VideoCapture class (e.g., get, set, etc.). </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a59ce0932d49ee86c9e810cae22e9b519"></a>
<div class="memitem">
@@ -347,7 +347,7 @@ Protected Member Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns a unique frame name (e.g. the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<p>This function returns a unique frame name (e.g., the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<dl class="section return"><dt>Returns</dt><dd>std::string with an unique frame name. </dd></dl>
<p>Implements <a class="el" href="classop_1_1_producer.html#ab35d570dc35573433ec86e3fce25e545">op::Producer</a>.</p>
+2 -2
View File
@@ -180,7 +180,7 @@ Additional Inherited Members</h2></td></tr>
<tr class="separator:afad3eadd16cca0de2c2be8b083c0d56d inherit pro_methods_classop_1_1_producer"><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="classop_1_1_video_reader.html">VideoReader</a> is a wrapper of the cv::VideoCapture class for video. It allows controlling a video (e.g. extracting frames, setting resolution &amp; fps, etc). </p>
<div class="textblock"><p><a class="el" href="classop_1_1_video_reader.html">VideoReader</a> is a wrapper of the cv::VideoCapture class for video. It allows controlling a video (e.g., extracting frames, setting resolution &amp; fps, etc). </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a70313aad386ef3897c70fea7b2e4030a"></a>
<div class="memitem">
@@ -390,7 +390,7 @@ Additional Inherited Members</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns a unique frame name (e.g. the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<p>This function returns a unique frame name (e.g., the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<dl class="section return"><dt>Returns</dt><dd>std::string with an unique frame name. </dd></dl>
<p>Implements <a class="el" href="classop_1_1_video_capture_reader.html#a06348fd9a290fc2ece2f3c2e4dc9bc70">op::VideoCaptureReader</a>.</p>
+1 -1
View File
@@ -396,7 +396,7 @@ Additional Inherited Members</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns a unique frame name (e.g. the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<p>This function returns a unique frame name (e.g., the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.). </p>
<dl class="section return"><dt>Returns</dt><dd>std::string with an unique frame name. </dd></dl>
<p>Implements <a class="el" href="classop_1_1_video_capture_reader.html#a06348fd9a290fc2ece2f3c2e4dc9bc70">op::VideoCaptureReader</a>.</p>
+19 -17
View File
@@ -120,22 +120,24 @@ $(document).ready(function(){initNavTree('coco_json_saver_8hpp_source.html','');
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classop_1_1_coco_json_saver.html">CocoJsonSaver</a>(<span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; filePathToSave, <span class="keyword">const</span> <span class="keywordtype">bool</span> humanReadable = <span class="keyword">true</span>,</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">CocoJsonFormat</a> cocoJsonFormat = <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8">CocoJsonFormat::Body</a>);</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classop_1_1_coco_json_saver.html">CocoJsonSaver</a>();</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">void</span> record(<span class="keyword">const</span> <a class="code" href="classop_1_1_array.html">Array&lt;float&gt;</a>&amp; poseKeypoints, <span class="keyword">const</span> <a class="code" href="classop_1_1_array.html">Array&lt;float&gt;</a>&amp; poseScores, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; imageName);</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">CocoJsonFormat</a> mCocoJsonFormat;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="classop_1_1_json_ofstream.html">JsonOfstream</a> mJsonOfstream;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordtype">bool</span> mFirstElementAdded;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="macros_8hpp.html#abef96b5dd35dd9d44ad27ddf0e2f5f2e">DELETE_COPY</a>(<a class="code" href="classop_1_1_coco_json_saver.html">CocoJsonSaver</a>);</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; };</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;}</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#endif // OPENPOSE_FILESTREAM_POSE_JSON_COCO_SAVER_HPP</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">CocoJsonFormat</a> cocoJsonFormat = <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8">CocoJsonFormat::Body</a>,</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> mCocoJsonVariant = 0);</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classop_1_1_coco_json_saver.html">CocoJsonSaver</a>();</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordtype">void</span> record(<span class="keyword">const</span> <a class="code" href="classop_1_1_array.html">Array&lt;float&gt;</a>&amp; poseKeypoints, <span class="keyword">const</span> <a class="code" href="classop_1_1_array.html">Array&lt;float&gt;</a>&amp; poseScores, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; imageName);</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">CocoJsonFormat</a> mCocoJsonFormat;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> mCocoJsonVariant;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="classop_1_1_json_ofstream.html">JsonOfstream</a> mJsonOfstream;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordtype">bool</span> mFirstElementAdded;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="macros_8hpp.html#abef96b5dd35dd9d44ad27ddf0e2f5f2e">DELETE_COPY</a>(<a class="code" href="classop_1_1_coco_json_saver.html">CocoJsonSaver</a>);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; };</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;}</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#endif // OPENPOSE_FILESTREAM_POSE_JSON_COCO_SAVER_HPP</span></div>
<div class="ttc" id="macros_8hpp_html_abef96b5dd35dd9d44ad27ddf0e2f5f2e"><div class="ttname"><a href="macros_8hpp.html#abef96b5dd35dd9d44ad27ddf0e2f5f2e">DELETE_COPY</a></div><div class="ttdeci">#define DELETE_COPY(className)</div><div class="ttdef"><b>Definition:</b> macros.hpp:33</div></div>
<div class="ttc" id="namespaceop_html_a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8"><div class="ttname"><a href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8">op::CocoJsonFormat::Body</a></div></div>
<div class="ttc" id="common_8hpp_html"><div class="ttname"><a href="common_8hpp.html">common.hpp</a></div></div>
@@ -144,7 +146,7 @@ $(document).ready(function(){initNavTree('coco_json_saver_8hpp_source.html','');
<div class="ttc" id="filestream_2enum_classes_8hpp_html"><div class="ttname"><a href="filestream_2enum_classes_8hpp.html">enumClasses.hpp</a></div></div>
<div class="ttc" id="classop_1_1_array_html"><div class="ttname"><a href="classop_1_1_array.html">op::Array&lt; float &gt;</a></div></div>
<div class="ttc" id="json_ofstream_8hpp_html"><div class="ttname"><a href="json_ofstream_8hpp.html">jsonOfstream.hpp</a></div></div>
<div class="ttc" id="namespaceop_html_a5418b76dad5b4aea1133325f4aa715ac"><div class="ttname"><a href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">op::CocoJsonFormat</a></div><div class="ttdeci">CocoJsonFormat</div><div class="ttdef"><b>Definition:</b> enumClasses.hpp:13</div></div>
<div class="ttc" id="namespaceop_html_a5418b76dad5b4aea1133325f4aa715ac"><div class="ttname"><a href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">op::CocoJsonFormat</a></div><div class="ttdeci">CocoJsonFormat</div><div class="ttdef"><b>Definition:</b> enumClasses.hpp:14</div></div>
<div class="ttc" id="macros_8hpp_html_a4ba443bb7a0e5dbe8054a9ac37a5e000"><div class="ttname"><a href="macros_8hpp.html#a4ba443bb7a0e5dbe8054a9ac37a5e000">OP_API</a></div><div class="ttdeci">#define OP_API</div><div class="ttdef"><b>Definition:</b> macros.hpp:18</div></div>
<div class="ttc" id="namespacecl_html_abff80bfb254d646f6afeb6638df41686"><div class="ttname"><a href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">cl::string</a></div><div class="ttdeci">std::string string</div><div class="ttdef"><b>Definition:</b> cl2.hpp:574</div></div>
</div><!-- fragment --></div><!-- contents -->
+1 -1
View File
@@ -114,7 +114,7 @@ $(document).ready(function(){initNavTree('fast_math_8hpp_source.html','');});
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;{</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; <span class="comment">// Use op::round/max/min for basic types (int, char, long, float, double, etc). Never with classes!</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; <span class="comment">// `std::` alternatives uses &#39;const T&amp;&#39; instead of &#39;const T&#39; as argument.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; <span class="comment">// E.g. std::round is really slow (~300 ms vs ~10 ms when I individually apply it to each element of a whole</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; <span class="comment">// E.g., std::round is really slow (~300 ms vs ~10 ms when I individually apply it to each element of a whole</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; <span class="comment">// image array</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <span class="comment">// Round functions</span></div>
+12 -11
View File
@@ -119,16 +119,17 @@ $(document).ready(function(){initNavTree('filestream_2enum_classes_8hpp_source.h
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; <a class="code" href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7ea65f6036bfc9798ce230c5d8567551315">Yaml</a>,</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <a class="code" href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7ea55eeca17b45365c188d0edbd35f6e0c3">Yml</a>,</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; };</div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac"> 13</a></span>&#160; <span class="keyword">enum class</span> <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">CocoJsonFormat</a> : unsigned char</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8">Body</a>,</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715aca129e74dde7b475c8848310e16754c965">Foot</a>,</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acae9989db5dabeea617f40c8dbfd07f5fb">Car</a>,</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715aca6f6cb72d544962fa333e2e34ce64f719">Size</a>,</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; };</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;}</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#endif // OPENPOSE_FILESTREAM_ENUM_CLASSES_HPP</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac"> 14</a></span>&#160; <span class="keyword">enum class</span> <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">CocoJsonFormat</a> : unsigned char</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8">Body</a>,</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715aca129e74dde7b475c8848310e16754c965">Foot</a>,</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acae9989db5dabeea617f40c8dbfd07f5fb">Car</a>,</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715aca6f6cb72d544962fa333e2e34ce64f719">Size</a>,</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; };</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;}</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#endif // OPENPOSE_FILESTREAM_ENUM_CLASSES_HPP</span></div>
<div class="ttc" id="namespaceop_html_a5418b76dad5b4aea1133325f4aa715aca6f6cb72d544962fa333e2e34ce64f719"><div class="ttname"><a href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715aca6f6cb72d544962fa333e2e34ce64f719">op::CocoJsonFormat::Size</a></div></div>
<div class="ttc" id="namespaceop_html_a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8"><div class="ttname"><a href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8">op::CocoJsonFormat::Body</a></div></div>
<div class="ttc" id="namespaceop_html_ae52c21a24cf2c21e3b419c127924fd7ea55eeca17b45365c188d0edbd35f6e0c3"><div class="ttname"><a href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7ea55eeca17b45365c188d0edbd35f6e0c3">op::DataFormat::Yml</a></div></div>
@@ -137,7 +138,7 @@ $(document).ready(function(){initNavTree('filestream_2enum_classes_8hpp_source.h
<div class="ttc" id="namespaceop_html_a5418b76dad5b4aea1133325f4aa715aca129e74dde7b475c8848310e16754c965"><div class="ttname"><a href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715aca129e74dde7b475c8848310e16754c965">op::CocoJsonFormat::Foot</a></div></div>
<div class="ttc" id="namespaceop_html_ae52c21a24cf2c21e3b419c127924fd7ea65f6036bfc9798ce230c5d8567551315"><div class="ttname"><a href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7ea65f6036bfc9798ce230c5d8567551315">op::DataFormat::Yaml</a></div></div>
<div class="ttc" id="namespaceop_html_a5418b76dad5b4aea1133325f4aa715acae9989db5dabeea617f40c8dbfd07f5fb"><div class="ttname"><a href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acae9989db5dabeea617f40c8dbfd07f5fb">op::CocoJsonFormat::Car</a></div></div>
<div class="ttc" id="namespaceop_html_a5418b76dad5b4aea1133325f4aa715ac"><div class="ttname"><a href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">op::CocoJsonFormat</a></div><div class="ttdeci">CocoJsonFormat</div><div class="ttdef"><b>Definition:</b> enumClasses.hpp:13</div></div>
<div class="ttc" id="namespaceop_html_a5418b76dad5b4aea1133325f4aa715ac"><div class="ttname"><a href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac">op::CocoJsonFormat</a></div><div class="ttdeci">CocoJsonFormat</div><div class="ttdef"><b>Definition:</b> enumClasses.hpp:14</div></div>
<div class="ttc" id="namespaceop_html_ae52c21a24cf2c21e3b419c127924fd7eaeed8d85b888a6c015834240885ee6333"><div class="ttname"><a href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7eaeed8d85b888a6c015834240885ee6333">op::DataFormat::Json</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
+137 -49
View File
@@ -117,8 +117,8 @@ $(document).ready(function(){initNavTree('flags_8hpp.html','');});
Functions</h2></td></tr>
<tr class="memitem:a73ee51843ead02ee6358fe39dcbeffde"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a> (logging_level, 3,&quot;The logging level. Integer in the range [0, 255]. 0 will output any log() message, while&quot;&quot; 255 will not output any. Current OpenPose library messages are in the range 0-4: 1 for&quot;&quot; low priority messages and 4 for important ones.&quot;)</td></tr>
<tr class="separator:a73ee51843ead02ee6358fe39dcbeffde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e9cb0627d386e4d69e5eae0593d70ad"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a> (disable_multi_thread, false,&quot;It would slightly reduce the frame rate in order to highly reduce the lag. Mainly useful&quot;&quot; for 1) Cases where it is needed a low latency (e.g. webcam in real-time scenarios with&quot;&quot; low-range GPU devices); and 2) Debugging OpenPose when it is crashing to locate the&quot;&quot; error.&quot;)</td></tr>
<tr class="separator:a0e9cb0627d386e4d69e5eae0593d70ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a035ba7d578f36103d096569f1984ab61"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a> (disable_multi_thread, false,&quot;It would slightly reduce the frame rate in order to highly reduce the lag. Mainly useful&quot;&quot; for 1) Cases where it is needed a low latency (e.g., webcam in real-time scenarios with&quot;&quot; low-range GPU devices); and 2) Debugging OpenPose when it is crashing to locate the&quot;&quot; error.&quot;)</td></tr>
<tr class="separator:a035ba7d578f36103d096569f1984ab61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e9de971b409cfe7fdded7f0d47c502d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a8e9de971b409cfe7fdded7f0d47c502d">DEFINE_int32</a> (profile_speed, 1000,&quot;If PROFILER_ENABLED was set in CMake or Makefile.config files, OpenPose will show some&quot;&quot; runtime statistics at this frame number.&quot;)</td></tr>
<tr class="separator:a8e9de971b409cfe7fdded7f0d47c502d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10efaeb1ea3a8478388cc7d0bfd4e59e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a10efaeb1ea3a8478388cc7d0bfd4e59e">DEFINE_int32</a> (camera,-1,&quot;The camera index for cv::VideoCapture. Integer in the range [0, 9]. Select a negative&quot;&quot; number (by default), to auto-detect and open the first available camera.&quot;)</td></tr>
@@ -141,16 +141,16 @@ Functions</h2></td></tr>
<tr class="separator:a1433eaf1c5eb42e406e76bc6f8e517c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22572531e5a4896c510639ac57cf522c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a22572531e5a4896c510639ac57cf522c">DEFINE_uint64</a> (frame_step, 1,&quot;Step or gap between processed frames. E.g., `--frame_step 5` would read and process frames&quot;&quot; 0, 5, 10, etc..&quot;)</td></tr>
<tr class="separator:a22572531e5a4896c510639ac57cf522c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8fef8bb0234286e74b75214a750d674"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#ac8fef8bb0234286e74b75214a750d674">DEFINE_uint64</a> (frame_last,-1,&quot;Finish on desired frame number. Select -1 to disable. Indexes are 0-based, e.g. if set to&quot;&quot; 10, it will process 11 frames (0-10).&quot;)</td></tr>
<tr class="separator:ac8fef8bb0234286e74b75214a750d674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64c46584d79ef0b947ecd0a98b282839"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a64c46584d79ef0b947ecd0a98b282839">DEFINE_bool</a> (frame_flip, false,&quot;Flip/mirror each frame (e.g. for real time webcam demonstrations).&quot;)</td></tr>
<tr class="separator:a64c46584d79ef0b947ecd0a98b282839"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a158227abc2af90abaec523a784b40fa8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a158227abc2af90abaec523a784b40fa8">DEFINE_uint64</a> (frame_last,-1,&quot;Finish on desired frame number. Select -1 to disable. Indexes are 0-based, e.g., if set to&quot;&quot; 10, it will process 11 frames (0-10).&quot;)</td></tr>
<tr class="separator:a158227abc2af90abaec523a784b40fa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d45877ef21b9042f1b307d23d404e40"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a9d45877ef21b9042f1b307d23d404e40">DEFINE_bool</a> (frame_flip, false,&quot;Flip/mirror each frame (e.g., for real time webcam demonstrations).&quot;)</td></tr>
<tr class="separator:a9d45877ef21b9042f1b307d23d404e40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c9c8a5843dd8b93e009bf29dc31cde2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a6c9c8a5843dd8b93e009bf29dc31cde2">DEFINE_int32</a> (frame_rotate, 0,&quot;Rotate each frame, 4 possible values: 0, 90, 180, 270.&quot;)</td></tr>
<tr class="separator:a6c9c8a5843dd8b93e009bf29dc31cde2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a501f229de1ba19801b77fd0565527b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a6a501f229de1ba19801b77fd0565527b">DEFINE_bool</a> (frames_repeat, false,&quot;Repeat frames when finished.&quot;)</td></tr>
<tr class="separator:a6a501f229de1ba19801b77fd0565527b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c66f20b5a9a1bc44d3c685fd37ff7f9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a5c66f20b5a9a1bc44d3c685fd37ff7f9">DEFINE_bool</a> (process_real_time, false,&quot;Enable to keep the original source frame rate (e.g. for video). If the processing time is&quot;&quot; too long, it will skip frames. If it is too fast, it will slow it down.&quot;)</td></tr>
<tr class="separator:a5c66f20b5a9a1bc44d3c685fd37ff7f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e350d38962a702d8e0c658fbbb5cc64"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a5e350d38962a702d8e0c658fbbb5cc64">DEFINE_bool</a> (process_real_time, false,&quot;Enable to keep the original source frame rate (e.g., for video). If the processing time is&quot;&quot; too long, it will skip frames. If it is too fast, it will slow it down.&quot;)</td></tr>
<tr class="separator:a5e350d38962a702d8e0c658fbbb5cc64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff61246512375ff5941dc4110e127ca3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#aff61246512375ff5941dc4110e127ca3">DEFINE_string</a> (camera_parameter_folder,&quot;models/cameraParameters/flir/&quot;,&quot;String with the folder where the camera parameters are located.&quot;)</td></tr>
<tr class="separator:aff61246512375ff5941dc4110e127ca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad739178d4295e31edd2f1e468bd2e600"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#ad739178d4295e31edd2f1e468bd2e600">DEFINE_bool</a> (frame_keep_distortion, false,&quot;If false (default), it will undistortionate the image based on the&quot;&quot; `camera_parameter_folder` camera parameters; if true, it will not undistortionate, i.e.,&quot;&quot; it will leave it as it is.&quot;)</td></tr>
@@ -169,10 +169,10 @@ Functions</h2></td></tr>
<tr class="separator:aa5a1826a500d7131fefb480ccd1713fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e8200fc5fd8bc1e80b94b029ea8e18d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a5e8200fc5fd8bc1e80b94b029ea8e18d">DEFINE_bool</a> (body_disable, false,&quot;Disable body keypoint detection. Option only possible for faster (but less accurate) face&quot;&quot; keypoint detection.&quot;)</td></tr>
<tr class="separator:a5e8200fc5fd8bc1e80b94b029ea8e18d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfd124be44003a59f2591c7584fd3c75"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#acfd124be44003a59f2591c7584fd3c75">DEFINE_string</a> (model_pose,&quot;BODY_25&quot;,&quot;Model to be used. E.g. `COCO` (18 keypoints), `MPI` (15 keypoints, ~10% faster), &quot;&quot;`MPI_4_layers` (15 keypoints, even faster but less accurate).&quot;)</td></tr>
<tr class="separator:acfd124be44003a59f2591c7584fd3c75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a830bcfa6645bf39a18f59d3b72f75edf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a830bcfa6645bf39a18f59d3b72f75edf">DEFINE_string</a> (net_resolution,&quot;-1x368&quot;,&quot;Multiples of 16. If it is increased, the accuracy potentially increases. If it is&quot;&quot; decreased, the speed increases. For maximum speed-accuracy balance, it should keep the&quot;&quot; closest aspect ratio possible to the images or videos to be processed. Using `-1` in&quot;&quot; any of the dimensions, OP will choose the optimal aspect ratio depending on the user's&quot;&quot; input value. E.g. the default `-1x368` is equivalent to `656x368` in 16:9 resolutions,&quot;&quot; e.g. full HD (1980x1080) and HD (1280x720) resolutions.&quot;)</td></tr>
<tr class="separator:a830bcfa6645bf39a18f59d3b72f75edf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a055e1e0a1618e96f156f32278b41d3e4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a055e1e0a1618e96f156f32278b41d3e4">DEFINE_string</a> (model_pose,&quot;BODY_25&quot;,&quot;Model to be used. E.g., `COCO` (18 keypoints), `MPI` (15 keypoints, ~10% faster), &quot;&quot;`MPI_4_layers` (15 keypoints, even faster but less accurate).&quot;)</td></tr>
<tr class="separator:a055e1e0a1618e96f156f32278b41d3e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66d6d5c07371179c3702dbd1da9d9bd3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a66d6d5c07371179c3702dbd1da9d9bd3">DEFINE_string</a> (net_resolution,&quot;-1x368&quot;,&quot;Multiples of 16. If it is increased, the accuracy potentially increases. If it is&quot;&quot; decreased, the speed increases. For maximum speed-accuracy balance, it should keep the&quot;&quot; closest aspect ratio possible to the images or videos to be processed. Using `-1` in&quot;&quot; any of the dimensions, OP will choose the optimal aspect ratio depending on the user's&quot;&quot; input value. E.g., the default `-1x368` is equivalent to `656x368` in 16:9 resolutions,&quot;&quot; e.g., full HD (1980x1080) and HD (1280x720) resolutions.&quot;)</td></tr>
<tr class="separator:a66d6d5c07371179c3702dbd1da9d9bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1edea5f45026b353b6e6cc3b196767a0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a1edea5f45026b353b6e6cc3b196767a0">DEFINE_int32</a> (scale_number, 1,&quot;Number of scales to average.&quot;)</td></tr>
<tr class="separator:a1edea5f45026b353b6e6cc3b196767a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf35e9261afec1673a42de6197f07f42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#adf35e9261afec1673a42de6197f07f42">DEFINE_double</a> (scale_gap, 0.3,&quot;Scale gap between scales. No effect unless scale_number &gt; 1. Initial scale is always 1.&quot;&quot; If you want to change the initial scale, you actually want to multiply the&quot;&quot; `net_resolution` by your desired initial scale.&quot;)</td></tr>
@@ -197,8 +197,8 @@ Functions</h2></td></tr>
<tr class="separator:afaf97bbf6a49576782d25147bc865bed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a311e487137e17445e6939abb7cc0cf8f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a311e487137e17445e6939abb7cc0cf8f">DEFINE_int32</a> (hand_scale_number, 1,&quot;Analogous to `scale_number` but applied to the hand keypoint detector. Our best results&quot;&quot; were found with `hand_scale_number` = 6 and `hand_scale_range` = 0.4.&quot;)</td></tr>
<tr class="separator:a311e487137e17445e6939abb7cc0cf8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94efdbeb7b9adb554d34399279312b8f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a94efdbeb7b9adb554d34399279312b8f">DEFINE_double</a> (hand_scale_range, 0.4,&quot;Analogous purpose than `scale_gap` but applied to the hand keypoint detector. Total range&quot;&quot; between smallest and biggest scale. The scales will be centered in ratio 1. E.g. if&quot;&quot; scaleRange = 0.4 and scalesNumber = 2, then there will be 2 scales, 0.8 and 1.2.&quot;)</td></tr>
<tr class="separator:a94efdbeb7b9adb554d34399279312b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf5c8a05ae8f86c8e4d8eedbceb84516"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#abf5c8a05ae8f86c8e4d8eedbceb84516">DEFINE_double</a> (hand_scale_range, 0.4,&quot;Analogous purpose than `scale_gap` but applied to the hand keypoint detector. Total range&quot;&quot; between smallest and biggest scale. The scales will be centered in ratio 1. E.g., if&quot;&quot; scaleRange = 0.4 and scalesNumber = 2, then there will be 2 scales, 0.8 and 1.2.&quot;)</td></tr>
<tr class="separator:abf5c8a05ae8f86c8e4d8eedbceb84516"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a28dd6ee5503f070d08cc9e4a3aff05"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a0a28dd6ee5503f070d08cc9e4a3aff05">DEFINE_bool</a> (hand_tracking, false,&quot;Adding hand tracking might improve hand keypoints detection for webcam (if the frame rate&quot;&quot; is high enough, i.e. &gt;7 FPS per GPU) and video. This is not person ID tracking, it&quot;&quot; simply looks for hands in positions at which hands were located in previous frames, but&quot;&quot; it does not guarantee the same person ID among frames.&quot;)</td></tr>
<tr class="separator:a0a28dd6ee5503f070d08cc9e4a3aff05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c800b6a91b02874d006da33ab8432cd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a4c800b6a91b02874d006da33ab8432cd">DEFINE_bool</a> (3d, false,&quot;Running OpenPose 3-D reconstruction demo: 1) Reading from a stereo camera system.&quot;&quot; 2) Performing 3-D reconstruction from the multiple views. 3) Displaying 3-D reconstruction&quot;&quot; results. Note that it will only display 1 person. If multiple people is present, it will&quot;&quot; fail.&quot;)</td></tr>
@@ -219,8 +219,8 @@ Functions</h2></td></tr>
<tr class="separator:a1a9ffc302eac69c8ba024da3edf01a5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd21fc201e4b269bf0b07b8fce886173"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#afd21fc201e4b269bf0b07b8fce886173">DEFINE_double</a> (render_threshold, 0.05,&quot;Only estimated keypoints whose score confidences are higher than this threshold will be&quot;&quot; rendered. Generally, a high threshold (&gt; 0.5) will only render very clear body parts;&quot;&quot; while small thresholds (~0.1) will also output guessed and occluded keypoints, but also&quot;&quot; more false positives (i.e. wrong detections).&quot;)</td></tr>
<tr class="separator:afd21fc201e4b269bf0b07b8fce886173"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2af299b6380dcd6dc06a95cceb056d4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#ab2af299b6380dcd6dc06a95cceb056d4">DEFINE_int32</a> (render_pose,-1,&quot;Set to 0 for no rendering, 1 for CPU rendering (slightly faster), and 2 for GPU rendering&quot;&quot; (slower but greater functionality, e.g. `alpha_X` flags). If -1, it will pick CPU if&quot;&quot; CPU_ONLY is enabled, or GPU if CUDA is enabled. If rendering is enabled, it will render&quot;&quot; both `outputData` and `cvOutputData` with the original image and desired body part to be&quot;&quot; shown (i.e. keypoints, heat maps or PAFs).&quot;)</td></tr>
<tr class="separator:ab2af299b6380dcd6dc06a95cceb056d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65152cde78f8e7da1d33f557ec392312"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a65152cde78f8e7da1d33f557ec392312">DEFINE_int32</a> (render_pose,-1,&quot;Set to 0 for no rendering, 1 for CPU rendering (slightly faster), and 2 for GPU rendering&quot;&quot; (slower but greater functionality, e.g., `alpha_X` flags). If -1, it will pick CPU if&quot;&quot; CPU_ONLY is enabled, or GPU if CUDA is enabled. If rendering is enabled, it will render&quot;&quot; both `outputData` and `cvOutputData` with the original image and desired body part to be&quot;&quot; shown (i.e. keypoints, heat maps or PAFs).&quot;)</td></tr>
<tr class="separator:a65152cde78f8e7da1d33f557ec392312"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad971ae1068651177e7a78ae68c022792"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#ad971ae1068651177e7a78ae68c022792">DEFINE_double</a> (alpha_pose, 0.6,&quot;Blending factor (range 0-1) for the body part rendering. 1 will show it completely, 0 will&quot;&quot; hide it. Only valid for GPU rendering.&quot;)</td></tr>
<tr class="separator:ad971ae1068651177e7a78ae68c022792"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62bfc56794bb8ceaedd0eb7bc32a0f22"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a62bfc56794bb8ceaedd0eb7bc32a0f22">DEFINE_double</a> (alpha_heatmap, 0.7,&quot;Blending factor (range 0-1) between heatmap and original frame. 1 will only show the&quot;&quot; heatmap, 0 will only show the frame. Only valid for GPU rendering.&quot;)</td></tr>
@@ -243,14 +243,14 @@ Functions</h2></td></tr>
<tr class="separator:ac17a7af1030d7f5bd69672fec961c083"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a231bec7b2113f31cebb760c849ca2841"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a231bec7b2113f31cebb760c849ca2841">DEFINE_bool</a> (fullscreen, false,&quot;Run in full-screen mode (press f during runtime to toggle).&quot;)</td></tr>
<tr class="separator:a231bec7b2113f31cebb760c849ca2841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14f23a4c6dd6c9290e3ee44bd79f96bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a14f23a4c6dd6c9290e3ee44bd79f96bf">DEFINE_bool</a> (no_gui_verbose, false,&quot;Do not write text on output images on GUI (e.g. number of current frame and people). It&quot;&quot; does not affect the pose rendering.&quot;)</td></tr>
<tr class="separator:a14f23a4c6dd6c9290e3ee44bd79f96bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ee4f86d572ef52ec26dcbb37efb5e65"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a0ee4f86d572ef52ec26dcbb37efb5e65">DEFINE_bool</a> (no_gui_verbose, false,&quot;Do not write text on output images on GUI (e.g., number of current frame and people). It&quot;&quot; does not affect the pose rendering.&quot;)</td></tr>
<tr class="separator:a0ee4f86d572ef52ec26dcbb37efb5e65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a34e10f75069cf3283e535a77006775"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a9a34e10f75069cf3283e535a77006775">DEFINE_int32</a> (display,-1,&quot;Display mode: -1 for automatic selection; 0 for no display (useful if there is no X server&quot;&quot; and/or to slightly speed up the processing if visual output is not required); 2 for 2-D&quot;&quot; display; 3 for 3-D display (if `--3d` enabled); and 1 for both 2-D and 3-D display.&quot;)</td></tr>
<tr class="separator:a9a34e10f75069cf3283e535a77006775"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a3597e9216885470199ca1578eb7f69"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a7a3597e9216885470199ca1578eb7f69">DEFINE_string</a> (write_images,&quot;&quot;,&quot;Directory to write rendered frames in `write_images_format` image format.&quot;)</td></tr>
<tr class="separator:a7a3597e9216885470199ca1578eb7f69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab077893503ebb5fba8cb300bd5f93d62"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#ab077893503ebb5fba8cb300bd5f93d62">DEFINE_string</a> (write_images_format,&quot;png&quot;,&quot;File extension and format for `write_images`, e.g. png, jpg or bmp. Check the OpenCV&quot;&quot; function cv::imwrite for all compatible extensions.&quot;)</td></tr>
<tr class="separator:ab077893503ebb5fba8cb300bd5f93d62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6957bf419a0ca3478948a62a3ce5ecf0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a6957bf419a0ca3478948a62a3ce5ecf0">DEFINE_string</a> (write_images_format,&quot;png&quot;,&quot;File extension and format for `write_images`, e.g., png, jpg or bmp. Check the OpenCV&quot;&quot; function cv::imwrite for all compatible extensions.&quot;)</td></tr>
<tr class="separator:a6957bf419a0ca3478948a62a3ce5ecf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3051d21eb51cc39eed5f781d8eaed960"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a3051d21eb51cc39eed5f781d8eaed960">DEFINE_string</a> (write_video,&quot;&quot;,&quot;Full file path to write rendered frames in motion JPEG video format. It might fail if the&quot;&quot; final path does not finish in `.avi`. It internally uses cv::VideoWriter. Flag&quot;&quot; `camera_fps` controls FPS.&quot;)</td></tr>
<tr class="separator:a3051d21eb51cc39eed5f781d8eaed960"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9aa48b2ab293842bc42b96df9e97c9b8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a9aa48b2ab293842bc42b96df9e97c9b8">DEFINE_string</a> (write_json,&quot;&quot;,&quot;Directory to write OpenPose output in JSON format. It includes body, hand, and face pose&quot;&quot; keypoints (2-D and 3-D), as well as pose candidates (if `--part_candidates` enabled).&quot;)</td></tr>
@@ -259,6 +259,8 @@ Functions</h2></td></tr>
<tr class="separator:a26d1c7340fc87d4593dda754d54145a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6c2099e630e05f867ee10b43f35dc65"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#ac6c2099e630e05f867ee10b43f35dc65">DEFINE_string</a> (write_coco_foot_json,&quot;&quot;,&quot;Full file path to write people foot pose data with JSON COCO validation format.&quot;)</td></tr>
<tr class="separator:ac6c2099e630e05f867ee10b43f35dc65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39756aa6d6911435a326e18541db970a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a39756aa6d6911435a326e18541db970a">DEFINE_int32</a> (write_coco_json_variant, 0,&quot;Currently, this option is experimental and only makes effect on car JSON generation. It&quot;&quot; selects the COCO variant for cocoJsonSaver.&quot;)</td></tr>
<tr class="separator:a39756aa6d6911435a326e18541db970a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3fe7c4c07492e6553a6c2d25ebd76b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#aa3fe7c4c07492e6553a6c2d25ebd76b4">DEFINE_string</a> (write_heatmaps,&quot;&quot;,&quot;Directory to write body pose heatmaps in PNG format. At least 1 `add_heatmaps_X` flag&quot;&quot; must be enabled.&quot;)</td></tr>
<tr class="separator:aa3fe7c4c07492e6553a6c2d25ebd76b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a242473077549869f06534e8a9ea1ddd6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a242473077549869f06534e8a9ea1ddd6">DEFINE_string</a> (write_heatmaps_format,&quot;png&quot;,&quot;File extension and format for `write_heatmaps`, analogous to `write_images_format`.&quot;&quot; For lossless compression, recommended `png` for integer `heatmaps_scale` and `float` for&quot;&quot; floating values.&quot;)</td></tr>
@@ -267,17 +269,17 @@ Functions</h2></td></tr>
<tr class="separator:ad8c5173beb83c0f9996362b3a3fba820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5aaba99bdb163516d0297d2e09dd0c7d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a5aaba99bdb163516d0297d2e09dd0c7d">DEFINE_string</a> (write_keypoint_format,&quot;yml&quot;,&quot;(Deprecated, use `write_json`) File extension and format for `write_keypoint`: json, xml,&quot;&quot; yaml &amp; yml. Json not available for OpenCV &lt; 3.0, use `write_json` instead.&quot;)</td></tr>
<tr class="separator:a5aaba99bdb163516d0297d2e09dd0c7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c5341914694863528d3d93b23b45f01"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a6c5341914694863528d3d93b23b45f01">DEFINE_string</a> (write_video_adam,&quot;&quot;,&quot;Experimental, not available yet. E.g.: `~/Desktop/adamResult.avi`. Flag `camera_fps`&quot;&quot; controls FPS.&quot;)</td></tr>
<tr class="separator:a6c5341914694863528d3d93b23b45f01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0c09dd7ede747d69d36dc86c7ffa11c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#ad0c09dd7ede747d69d36dc86c7ffa11c">DEFINE_string</a> (write_bvh,&quot;&quot;,&quot;Experimental, not available yet. E.g.: `~/Desktop/mocapResult.bvh`.&quot;)</td></tr>
<tr class="separator:ad0c09dd7ede747d69d36dc86c7ffa11c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7a48143249d608e2ad3a8413eb19c34"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#ad7a48143249d608e2ad3a8413eb19c34">DEFINE_string</a> (write_video_adam,&quot;&quot;,&quot;Experimental, not available yet. E.g., `~/Desktop/adamResult.avi`. Flag `camera_fps`&quot;&quot; controls FPS.&quot;)</td></tr>
<tr class="separator:ad7a48143249d608e2ad3a8413eb19c34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72c09e09c94b67f88b53e1a94e7bfe0f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a72c09e09c94b67f88b53e1a94e7bfe0f">DEFINE_string</a> (write_bvh,&quot;&quot;,&quot;Experimental, not available yet. E.g., `~/Desktop/mocapResult.bvh`.&quot;)</td></tr>
<tr class="separator:a72c09e09c94b67f88b53e1a94e7bfe0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63936bd2bc53a453ba74066289ab9d29"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#a63936bd2bc53a453ba74066289ab9d29">DEFINE_string</a> (udp_host,&quot;&quot;,&quot;Experimental, not available yet. IP for UDP communication. E.g., `192.168.0.1`.&quot;)</td></tr>
<tr class="separator:a63936bd2bc53a453ba74066289ab9d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7b1c758c6d6e35c3227994a9ced0236"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="flags_8hpp.html#aa7b1c758c6d6e35c3227994a9ced0236">DEFINE_string</a> (udp_port,&quot;8051&quot;,&quot;Experimental, not available yet. Port number for UDP communication.&quot;)</td></tr>
<tr class="separator:aa7b1c758c6d6e35c3227994a9ced0236"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a0e9cb0627d386e4d69e5eae0593d70ad"></a>
<a class="anchor" id="a035ba7d578f36103d096569f1984ab61"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -341,7 +343,7 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a64c46584d79ef0b947ecd0a98b282839"></a>
<a class="anchor" id="a9d45877ef21b9042f1b307d23d404e40"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -360,7 +362,7 @@ Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;Flip/mirror each frame (e.g. for real time webcam demonstrations).&quot;&#160;</td>
<td class="paramtype">&quot;Flip/mirror each frame (e.g., for real time webcam demonstrations).&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
@@ -405,7 +407,7 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a5c66f20b5a9a1bc44d3c685fd37ff7f9"></a>
<a class="anchor" id="a5e350d38962a702d8e0c658fbbb5cc64"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -424,7 +426,7 @@ Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;Enable to keep the original source frame rate (e.g. for video). If the processing time is&quot;&quot; too&#160;</td>
<td class="paramtype">&quot;Enable to keep the original source frame rate (e.g., for video). If the processing time is&quot;&quot; too&#160;</td>
<td class="paramname"><em>long</em>, </td>
</tr>
<tr>
@@ -1021,7 +1023,7 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a14f23a4c6dd6c9290e3ee44bd79f96bf"></a>
<a class="anchor" id="a0ee4f86d572ef52ec26dcbb37efb5e65"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -1040,7 +1042,7 @@ Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;Do not write text on output images on GUI (e.g. number of current frame and people). It&quot;&quot; does not affect the pose rendering.&quot;&#160;</td>
<td class="paramtype">&quot;Do not write text on output images on GUI (e.g., number of current frame and people). It&quot;&quot; does not affect the pose rendering.&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
@@ -1129,7 +1131,7 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a94efdbeb7b9adb554d34399279312b8f"></a>
<a class="anchor" id="abf5c8a05ae8f86c8e4d8eedbceb84516"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -1148,7 +1150,13 @@ Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;Analogous purpose than `scale_gap` but applied to the hand keypoint detector. Total range&quot;&quot; between smallest and biggest scale. The scales will be centered in ratio 1. E.g. if&quot;&quot;&#160;</td>
<td class="paramtype">&quot;Analogous purpose than `scale_gap` but applied to the hand keypoint detector. Total range&quot;&quot; between smallest and biggest scale. The scales will be centered in ratio 1. E.&#160;</td>
<td class="paramname"><em>g.</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">if&quot;&quot;&#160;</td>
<td class="paramname"><em>scaleRange</em> = <code>0.4&#160;and&#160;scalesNumber&#160;=&#160;2</code>, </td>
</tr>
<tr>
@@ -2215,7 +2223,7 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="ab2af299b6380dcd6dc06a95cceb056d4"></a>
<a class="anchor" id="a65152cde78f8e7da1d33f557ec392312"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -2246,7 +2254,7 @@ Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">and 2 for GPU rendering&quot;&quot;(slower but greater functionality, e.g.`alpha_X`flags).If-&#160;</td>
<td class="paramtype">and 2 for GPU rendering&quot;&quot;(slower but greater functionality, e.g.,`alpha_X`flags).If-&#160;</td>
<td class="paramname"><em>1</em>, </td>
</tr>
<tr>
@@ -2371,6 +2379,44 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a39756aa6d6911435a326e18541db970a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DEFINE_int32 </td>
<td>(</td>
<td class="paramtype">write_coco_json_variant&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">0&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;&#160;</td>
<td class="paramname"><em>Currently</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">this option is experimental and only makes effect on car JSON generation.It&quot;&quot;selects the COCO variant for cocoJsonSaver.&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a9e7b1394aea185360a1fe19cf4e20a89"></a>
@@ -2603,7 +2649,7 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="acfd124be44003a59f2591c7584fd3c75"></a>
<a class="anchor" id="a055e1e0a1618e96f156f32278b41d3e4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -2622,7 +2668,13 @@ Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;Model to be used. E.g. `COCO` &#160;</td>
<td class="paramtype">&quot;Model to be used. E.&#160;</td>
<td class="paramname"><em>g.</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">`COCO`&#160;</td>
<td class="paramname">18 keypoints, </td>
</tr>
<tr>
@@ -2647,7 +2699,7 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a830bcfa6645bf39a18f59d3b72f75edf"></a>
<a class="anchor" id="a66d6d5c07371179c3702dbd1da9d9bd3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -2690,13 +2742,25 @@ Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">OP will choose the optimal aspect ratio depending on the user's&quot;&quot;input value.E.g.the default`-1x368`is equivalent to`656x368`in 16:9&#160;</td>
<td class="paramtype">OP will choose the optimal aspect ratio depending on the user's&quot;&quot;input value.E.&#160;</td>
<td class="paramname"><em>g.</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">the default`-1x368`is equivalent to`656x368`in 16:9&#160;</td>
<td class="paramname"><em>resolutions</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&quot;&quot;e.g.full HD(1980x1080) and HD(1280x720) resolutions.&quot;&#160;</td>
<td class="paramtype">&quot;&quot;e.&#160;</td>
<td class="paramname"><em>g.</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">full HD(1980x1080) and HD(1280x720) resolutions.&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
@@ -2805,7 +2869,7 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="ab077893503ebb5fba8cb300bd5f93d62"></a>
<a class="anchor" id="a6957bf419a0ca3478948a62a3ce5ecf0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -2830,8 +2894,14 @@ Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">e.g.&#160;</td>
<td class="paramname"><em>png</em>, </td>
<td class="paramtype">e.&#160;</td>
<td class="paramname"><em>g.</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">png&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -3141,7 +3211,7 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a6c5341914694863528d3d93b23b45f01"></a>
<a class="anchor" id="ad7a48143249d608e2ad3a8413eb19c34"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -3166,7 +3236,13 @@ Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">not available yet.E.g.:`~/Desktop/adamResult.avi`.Flag`camera_fps`&quot;&quot;controls FPS.&quot;&#160;</td>
<td class="paramtype">not available yet.E.&#160;</td>
<td class="paramname"><em>g.</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">`~/Desktop/adamResult.avi`.Flag`camera_fps`&quot;&quot;controls FPS.&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
@@ -3179,7 +3255,7 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="ad0c09dd7ede747d69d36dc86c7ffa11c"></a>
<a class="anchor" id="a72c09e09c94b67f88b53e1a94e7bfe0f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -3204,7 +3280,13 @@ Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">not available yet.E.g.:`~/Desktop/mocapResult.bvh`.&quot;&#160;</td>
<td class="paramtype">not available yet.E.&#160;</td>
<td class="paramname"><em>g.</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">`~/Desktop/mocapResult.bvh`.&quot;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
@@ -3393,7 +3475,7 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="ac8fef8bb0234286e74b75214a750d674"></a>
<a class="anchor" id="a158227abc2af90abaec523a784b40fa8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -3418,7 +3500,13 @@ Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">e.g.if set to&quot;&quot;&#160;</td>
<td class="paramtype">e.&#160;</td>
<td class="paramname"><em>g.</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">if set to&quot;&quot;&#160;</td>
<td class="paramname"><em>10</em>, </td>
</tr>
<tr>
+13 -12
View File
@@ -1,10 +1,10 @@
var flags_8hpp =
[
[ "DEFINE_bool", "flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad", null ],
[ "DEFINE_bool", "flags_8hpp.html#a035ba7d578f36103d096569f1984ab61", null ],
[ "DEFINE_bool", "flags_8hpp.html#a7fc3e871114ac35447499ffda035d51e", null ],
[ "DEFINE_bool", "flags_8hpp.html#a64c46584d79ef0b947ecd0a98b282839", null ],
[ "DEFINE_bool", "flags_8hpp.html#a9d45877ef21b9042f1b307d23d404e40", null ],
[ "DEFINE_bool", "flags_8hpp.html#a6a501f229de1ba19801b77fd0565527b", null ],
[ "DEFINE_bool", "flags_8hpp.html#a5c66f20b5a9a1bc44d3c685fd37ff7f9", null ],
[ "DEFINE_bool", "flags_8hpp.html#a5e350d38962a702d8e0c658fbbb5cc64", null ],
[ "DEFINE_bool", "flags_8hpp.html#ad739178d4295e31edd2f1e468bd2e600", null ],
[ "DEFINE_bool", "flags_8hpp.html#a5e8200fc5fd8bc1e80b94b029ea8e18d", null ],
[ "DEFINE_bool", "flags_8hpp.html#a669c6f4820af0275f40808b18147b98c", null ],
@@ -18,10 +18,10 @@ var flags_8hpp =
[ "DEFINE_bool", "flags_8hpp.html#ac210b56a3c46ff06143a62b0bb725cc6", null ],
[ "DEFINE_bool", "flags_8hpp.html#a1a9ffc302eac69c8ba024da3edf01a5f", null ],
[ "DEFINE_bool", "flags_8hpp.html#a231bec7b2113f31cebb760c849ca2841", null ],
[ "DEFINE_bool", "flags_8hpp.html#a14f23a4c6dd6c9290e3ee44bd79f96bf", null ],
[ "DEFINE_bool", "flags_8hpp.html#a0ee4f86d572ef52ec26dcbb37efb5e65", null ],
[ "DEFINE_double", "flags_8hpp.html#a29f9621cd9361deec9512f8d8b53e6ba", null ],
[ "DEFINE_double", "flags_8hpp.html#adf35e9261afec1673a42de6197f07f42", null ],
[ "DEFINE_double", "flags_8hpp.html#a94efdbeb7b9adb554d34399279312b8f", null ],
[ "DEFINE_double", "flags_8hpp.html#abf5c8a05ae8f86c8e4d8eedbceb84516", null ],
[ "DEFINE_double", "flags_8hpp.html#afd21fc201e4b269bf0b07b8fce886173", null ],
[ "DEFINE_double", "flags_8hpp.html#ad971ae1068651177e7a78ae68c022792", null ],
[ "DEFINE_double", "flags_8hpp.html#a62bfc56794bb8ceaedd0eb7bc32a0f22", null ],
@@ -48,10 +48,11 @@ var flags_8hpp =
[ "DEFINE_int32", "flags_8hpp.html#afdfef14901f7b5e324d6983845f5ab50", null ],
[ "DEFINE_int32", "flags_8hpp.html#a072bd893f4003b48bc7c99735eeeed39", null ],
[ "DEFINE_int32", "flags_8hpp.html#a4cead735de5b43cfcae5c1139df3be1a", null ],
[ "DEFINE_int32", "flags_8hpp.html#ab2af299b6380dcd6dc06a95cceb056d4", null ],
[ "DEFINE_int32", "flags_8hpp.html#a65152cde78f8e7da1d33f557ec392312", null ],
[ "DEFINE_int32", "flags_8hpp.html#ad0269da28dc2033e23b8ea84b7e793a2", null ],
[ "DEFINE_int32", "flags_8hpp.html#ada5b7fef5063818fd668359e9e0b0504", null ],
[ "DEFINE_int32", "flags_8hpp.html#a9a34e10f75069cf3283e535a77006775", null ],
[ "DEFINE_int32", "flags_8hpp.html#a39756aa6d6911435a326e18541db970a", null ],
[ "DEFINE_string", "flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89", null ],
[ "DEFINE_string", "flags_8hpp.html#aab02d4078b5f7999a582d9c5f4248676", null ],
[ "DEFINE_string", "flags_8hpp.html#a7773e867133822f5601899975dc06adb", null ],
@@ -59,12 +60,12 @@ var flags_8hpp =
[ "DEFINE_string", "flags_8hpp.html#aff61246512375ff5941dc4110e127ca3", null ],
[ "DEFINE_string", "flags_8hpp.html#a9ab689ebe20a261b20587af79123e79a", null ],
[ "DEFINE_string", "flags_8hpp.html#a85be61a31eaa438a7e9c7d2baf51da47", null ],
[ "DEFINE_string", "flags_8hpp.html#acfd124be44003a59f2591c7584fd3c75", null ],
[ "DEFINE_string", "flags_8hpp.html#a830bcfa6645bf39a18f59d3b72f75edf", null ],
[ "DEFINE_string", "flags_8hpp.html#a055e1e0a1618e96f156f32278b41d3e4", null ],
[ "DEFINE_string", "flags_8hpp.html#a66d6d5c07371179c3702dbd1da9d9bd3", null ],
[ "DEFINE_string", "flags_8hpp.html#af5ee5f61f0d36a03bb8647408f5e236b", null ],
[ "DEFINE_string", "flags_8hpp.html#afaf97bbf6a49576782d25147bc865bed", null ],
[ "DEFINE_string", "flags_8hpp.html#a7a3597e9216885470199ca1578eb7f69", null ],
[ "DEFINE_string", "flags_8hpp.html#ab077893503ebb5fba8cb300bd5f93d62", null ],
[ "DEFINE_string", "flags_8hpp.html#a6957bf419a0ca3478948a62a3ce5ecf0", null ],
[ "DEFINE_string", "flags_8hpp.html#a3051d21eb51cc39eed5f781d8eaed960", null ],
[ "DEFINE_string", "flags_8hpp.html#a9aa48b2ab293842bc42b96df9e97c9b8", null ],
[ "DEFINE_string", "flags_8hpp.html#a26d1c7340fc87d4593dda754d54145a2", null ],
@@ -73,11 +74,11 @@ var flags_8hpp =
[ "DEFINE_string", "flags_8hpp.html#a242473077549869f06534e8a9ea1ddd6", null ],
[ "DEFINE_string", "flags_8hpp.html#ad8c5173beb83c0f9996362b3a3fba820", null ],
[ "DEFINE_string", "flags_8hpp.html#a5aaba99bdb163516d0297d2e09dd0c7d", null ],
[ "DEFINE_string", "flags_8hpp.html#a6c5341914694863528d3d93b23b45f01", null ],
[ "DEFINE_string", "flags_8hpp.html#ad0c09dd7ede747d69d36dc86c7ffa11c", null ],
[ "DEFINE_string", "flags_8hpp.html#ad7a48143249d608e2ad3a8413eb19c34", null ],
[ "DEFINE_string", "flags_8hpp.html#a72c09e09c94b67f88b53e1a94e7bfe0f", null ],
[ "DEFINE_string", "flags_8hpp.html#a63936bd2bc53a453ba74066289ab9d29", null ],
[ "DEFINE_string", "flags_8hpp.html#aa7b1c758c6d6e35c3227994a9ced0236", null ],
[ "DEFINE_uint64", "flags_8hpp.html#a1433eaf1c5eb42e406e76bc6f8e517c3", null ],
[ "DEFINE_uint64", "flags_8hpp.html#a22572531e5a4896c510639ac57cf522c", null ],
[ "DEFINE_uint64", "flags_8hpp.html#ac8fef8bb0234286e74b75214a750d674", null ]
[ "DEFINE_uint64", "flags_8hpp.html#a158227abc2af90abaec523a784b40fa8", null ]
];
+51 -49
View File
@@ -121,15 +121,15 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor"></span> <span class="keyword">namespace </span>gflags = google;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// See all the available parameter options withe the `--help` flag. E.g. `build/examples/openpose/openpose.bin --help`</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// See all the available parameter options withe the `--help` flag. E.g., `build/examples/openpose/openpose.bin --help`</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// Note: This command will show you flags for other unnecessary 3rdparty files. Check only the flags for the OpenPose</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// executable. E.g. for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`.</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">// executable. E.g., for `openpose.bin`, look for `Flags from examples/openpose/openpose.cpp:`.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// Debugging/Other</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<a class="code" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a>(logging_level, 3, <span class="stringliteral">&quot;The logging level. Integer in the range [0, 255]. 0 will output any log() message, while&quot;</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="stringliteral">&quot; 255 will not output any. Current OpenPose library messages are in the range 0-4: 1 for&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="stringliteral">&quot; low priority messages and 4 for important ones.&quot;</span>);</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(disable_multi_thread, <span class="keyword">false</span>, <span class="stringliteral">&quot;It would slightly reduce the frame rate in order to highly reduce the lag. Mainly useful&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="stringliteral">&quot; for 1) Cases where it is needed a low latency (e.g. webcam in real-time scenarios with&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(disable_multi_thread, <span class="keyword">false</span>, <span class="stringliteral">&quot;It would slightly reduce the frame rate in order to highly reduce the lag. Mainly useful&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="stringliteral">&quot; for 1) Cases where it is needed a low latency (e.g., webcam in real-time scenarios with&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="stringliteral">&quot; low-range GPU devices); and 2) Debugging OpenPose when it is crashing to locate the&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="stringliteral">&quot; error.&quot;</span>);</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<a class="code" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a>(profile_speed, 1000, <span class="stringliteral">&quot;If PROFILER_ENABLED was set in CMake or Makefile.config files, OpenPose will show some&quot;</span></div>
@@ -150,7 +150,7 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="stringliteral">&quot; example video.&quot;</span>);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(image_dir, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Process a directory of images. Use `examples/media/` for our default example folder with 20&quot;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="stringliteral">&quot; images. Read all standard formats (jpg, png, bmp, etc.).&quot;</span>);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(flir_camera, <span class="keyword">false</span>, <span class="stringliteral">&quot;Whether to use FLIR (Point-Grey) stereo camera.&quot;</span>);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(flir_camera, <span class="keyword">false</span>, <span class="stringliteral">&quot;Whether to use FLIR (Point-Grey) stereo camera.&quot;</span>);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<a class="code" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a>(flir_camera_index, -1, <span class="stringliteral">&quot;Select -1 (default) to run on all detected flir cameras at once. Otherwise, select the flir&quot;</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="stringliteral">&quot; camera index to run, where 0 corresponds to the detected flir camera with the lowest&quot;</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="stringliteral">&quot; serial number, and `n` to the `n`-th lowest serial number camera.&quot;</span>);</div>
@@ -158,15 +158,15 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<a class="code" href="flags_8hpp.html#a1433eaf1c5eb42e406e76bc6f8e517c3">DEFINE_uint64</a>(frame_first, 0, <span class="stringliteral">&quot;Start on desired frame number. Indexes are 0-based, i.e. the first frame has index 0.&quot;</span>);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<a class="code" href="flags_8hpp.html#a1433eaf1c5eb42e406e76bc6f8e517c3">DEFINE_uint64</a>(frame_step, 1, <span class="stringliteral">&quot;Step or gap between processed frames. E.g., `--frame_step 5` would read and process frames&quot;</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="stringliteral">&quot; 0, 5, 10, etc..&quot;</span>);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<a class="code" href="flags_8hpp.html#a1433eaf1c5eb42e406e76bc6f8e517c3">DEFINE_uint64</a>(frame_last, -1, <span class="stringliteral">&quot;Finish on desired frame number. Select -1 to disable. Indexes are 0-based, e.g. if set to&quot;</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<a class="code" href="flags_8hpp.html#a1433eaf1c5eb42e406e76bc6f8e517c3">DEFINE_uint64</a>(frame_last, -1, <span class="stringliteral">&quot;Finish on desired frame number. Select -1 to disable. Indexes are 0-based, e.g., if set to&quot;</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="stringliteral">&quot; 10, it will process 11 frames (0-10).&quot;</span>);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(frame_flip, <span class="keyword">false</span>, <span class="stringliteral">&quot;Flip/mirror each frame (e.g. for real time webcam demonstrations).&quot;</span>);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(frame_flip, <span class="keyword">false</span>, <span class="stringliteral">&quot;Flip/mirror each frame (e.g., for real time webcam demonstrations).&quot;</span>);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<a class="code" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a>(frame_rotate, 0, <span class="stringliteral">&quot;Rotate each frame, 4 possible values: 0, 90, 180, 270.&quot;</span>);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(frames_repeat, <span class="keyword">false</span>, <span class="stringliteral">&quot;Repeat frames when finished.&quot;</span>);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(process_real_time, <span class="keyword">false</span>, <span class="stringliteral">&quot;Enable to keep the original source frame rate (e.g. for video). If the processing time is&quot;</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(frames_repeat, <span class="keyword">false</span>, <span class="stringliteral">&quot;Repeat frames when finished.&quot;</span>);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(process_real_time, <span class="keyword">false</span>, <span class="stringliteral">&quot;Enable to keep the original source frame rate (e.g., for video). If the processing time is&quot;</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="stringliteral">&quot; too long, it will skip frames. If it is too fast, it will slow it down.&quot;</span>);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(camera_parameter_folder, <span class="stringliteral">&quot;models/cameraParameters/flir/&quot;</span>, <span class="stringliteral">&quot;String with the folder where the camera parameters are located.&quot;</span>);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(frame_keep_distortion, <span class="keyword">false</span>, <span class="stringliteral">&quot;If false (default), it will undistortionate the image based on the&quot;</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(frame_keep_distortion, <span class="keyword">false</span>, <span class="stringliteral">&quot;If false (default), it will undistortionate the image based on the&quot;</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="stringliteral">&quot; `camera_parameter_folder` camera parameters; if true, it will not undistortionate, i.e.,&quot;</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="stringliteral">&quot; it will leave it as it is.&quot;</span>);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#endif // OPENPOSE_FLAGS_DISABLE_PRODUCER</span></div>
@@ -192,34 +192,34 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="stringliteral">&quot; been detected. However, it might also include false negatives by removing very small or&quot;</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="stringliteral">&quot; highly occluded people. -1 will keep them all.&quot;</span>);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment">// OpenPose Body Pose</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(body_disable, <span class="keyword">false</span>, <span class="stringliteral">&quot;Disable body keypoint detection. Option only possible for faster (but less accurate) face&quot;</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(body_disable, <span class="keyword">false</span>, <span class="stringliteral">&quot;Disable body keypoint detection. Option only possible for faster (but less accurate) face&quot;</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="stringliteral">&quot; keypoint detection.&quot;</span>);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(model_pose, <span class="stringliteral">&quot;BODY_25&quot;</span>, <span class="stringliteral">&quot;Model to be used. E.g. `COCO` (18 keypoints), `MPI` (15 keypoints, ~10% faster), &quot;</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(model_pose, <span class="stringliteral">&quot;BODY_25&quot;</span>, <span class="stringliteral">&quot;Model to be used. E.g., `COCO` (18 keypoints), `MPI` (15 keypoints, ~10% faster), &quot;</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="stringliteral">&quot;`MPI_4_layers` (15 keypoints, even faster but less accurate).&quot;</span>);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(net_resolution, <span class="stringliteral">&quot;-1x368&quot;</span>, <span class="stringliteral">&quot;Multiples of 16. If it is increased, the accuracy potentially increases. If it is&quot;</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="stringliteral">&quot; decreased, the speed increases. For maximum speed-accuracy balance, it should keep the&quot;</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="stringliteral">&quot; closest aspect ratio possible to the images or videos to be processed. Using `-1` in&quot;</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="stringliteral">&quot; any of the dimensions, OP will choose the optimal aspect ratio depending on the user&#39;s&quot;</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="stringliteral">&quot; input value. E.g. the default `-1x368` is equivalent to `656x368` in 16:9 resolutions,&quot;</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="stringliteral">&quot; e.g. full HD (1980x1080) and HD (1280x720) resolutions.&quot;</span>);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="stringliteral">&quot; input value. E.g., the default `-1x368` is equivalent to `656x368` in 16:9 resolutions,&quot;</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="stringliteral">&quot; e.g., full HD (1980x1080) and HD (1280x720) resolutions.&quot;</span>);</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<a class="code" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a>(scale_number, 1, <span class="stringliteral">&quot;Number of scales to average.&quot;</span>);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<a class="code" href="flags_8hpp.html#a29f9621cd9361deec9512f8d8b53e6ba">DEFINE_double</a>(scale_gap, 0.3, <span class="stringliteral">&quot;Scale gap between scales. No effect unless scale_number &gt; 1. Initial scale is always 1.&quot;</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="stringliteral">&quot; If you want to change the initial scale, you actually want to multiply the&quot;</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="stringliteral">&quot; `net_resolution` by your desired initial scale.&quot;</span>);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment">// OpenPose Body Pose Heatmaps and Part Candidates</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(heatmaps_add_parts, <span class="keyword">false</span>, <span class="stringliteral">&quot;If true, it will fill op::Datum::poseHeatMaps array with the body part heatmaps, and&quot;</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(heatmaps_add_parts, <span class="keyword">false</span>, <span class="stringliteral">&quot;If true, it will fill op::Datum::poseHeatMaps array with the body part heatmaps, and&quot;</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="stringliteral">&quot; analogously face &amp; hand heatmaps to op::Datum::faceHeatMaps &amp; op::Datum::handHeatMaps.&quot;</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="stringliteral">&quot; If more than one `add_heatmaps_X` flag is enabled, it will place then in sequential&quot;</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="stringliteral">&quot; memory order: body parts + bkg + PAFs. It will follow the order on&quot;</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="stringliteral">&quot; POSE_BODY_PART_MAPPING in `src/openpose/pose/poseParameters.cpp`. Program speed will&quot;</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="stringliteral">&quot; considerably decrease. Not required for OpenPose, enable it only if you intend to&quot;</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="stringliteral">&quot; explicitly use this information later.&quot;</span>);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(heatmaps_add_bkg, <span class="keyword">false</span>, <span class="stringliteral">&quot;Same functionality as `add_heatmaps_parts`, but adding the heatmap corresponding to&quot;</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(heatmaps_add_bkg, <span class="keyword">false</span>, <span class="stringliteral">&quot;Same functionality as `add_heatmaps_parts`, but adding the heatmap corresponding to&quot;</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="stringliteral">&quot; background.&quot;</span>);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(heatmaps_add_PAFs, <span class="keyword">false</span>, <span class="stringliteral">&quot;Same functionality as `add_heatmaps_parts`, but adding the PAFs.&quot;</span>);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(heatmaps_add_PAFs, <span class="keyword">false</span>, <span class="stringliteral">&quot;Same functionality as `add_heatmaps_parts`, but adding the PAFs.&quot;</span>);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<a class="code" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a>(heatmaps_scale, 2, <span class="stringliteral">&quot;Set 0 to scale op::Datum::poseHeatMaps in the range [-1,1], 1 for [0,1]; 2 for integer&quot;</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="stringliteral">&quot; rounded [0,255]; and 3 for no scaling.&quot;</span>);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(part_candidates, <span class="keyword">false</span>, <span class="stringliteral">&quot;Also enable `write_json` in order to save this information. If true, it will fill the&quot;</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(part_candidates, <span class="keyword">false</span>, <span class="stringliteral">&quot;Also enable `write_json` in order to save this information. If true, it will fill the&quot;</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="stringliteral">&quot; op::Datum::poseCandidates array with the body part candidates. Candidates refer to all&quot;</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="stringliteral">&quot; the detected body parts, before being assembled into people. Note that the number of&quot;</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="stringliteral">&quot; candidates is equal or higher than the number of final body parts (i.e. after being&quot;</span></div>
@@ -227,7 +227,7 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="stringliteral">&quot; slightly decrease. Not required for OpenPose, enable it only if you intend to explicitly&quot;</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="stringliteral">&quot; use this information.&quot;</span>);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment">// OpenPose Face</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(face, <span class="keyword">false</span>, <span class="stringliteral">&quot;Enables face keypoint detection. It will share some parameters from the body pose, e.g.&quot;</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(face, <span class="keyword">false</span>, <span class="stringliteral">&quot;Enables face keypoint detection. It will share some parameters from the body pose, e.g.&quot;</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="stringliteral">&quot; `model_folder`. Note that this will considerable slow down the performance and increse&quot;</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="stringliteral">&quot; the required GPU memory. In addition, the greater number of people on the image, the&quot;</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="stringliteral">&quot; slower OpenPose will be.&quot;</span>);</div>
@@ -235,7 +235,7 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="stringliteral">&quot; detector. 320x320 usually works fine while giving a substantial speed up when multiple&quot;</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="stringliteral">&quot; faces on the image.&quot;</span>);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment">// OpenPose Hand</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(hand, <span class="keyword">false</span>, <span class="stringliteral">&quot;Enables hand keypoint detection. It will share some parameters from the body pose, e.g.&quot;</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(hand, <span class="keyword">false</span>, <span class="stringliteral">&quot;Enables hand keypoint detection. It will share some parameters from the body pose, e.g.&quot;</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="stringliteral">&quot; `model_folder`. Analogously to `--face`, it will also slow down the performance, increase&quot;</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="stringliteral">&quot; the required GPU memory and its speed depends on the number of people.&quot;</span>);</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(hand_net_resolution, <span class="stringliteral">&quot;368x368&quot;</span>, <span class="stringliteral">&quot;Multiples of 16 and squared. Analogous to `net_resolution` but applied to the hand keypoint&quot;</span></div>
@@ -243,14 +243,14 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<a class="code" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a>(hand_scale_number, 1, <span class="stringliteral">&quot;Analogous to `scale_number` but applied to the hand keypoint detector. Our best results&quot;</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="stringliteral">&quot; were found with `hand_scale_number` = 6 and `hand_scale_range` = 0.4.&quot;</span>);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<a class="code" href="flags_8hpp.html#a29f9621cd9361deec9512f8d8b53e6ba">DEFINE_double</a>(hand_scale_range, 0.4, <span class="stringliteral">&quot;Analogous purpose than `scale_gap` but applied to the hand keypoint detector. Total range&quot;</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="stringliteral">&quot; between smallest and biggest scale. The scales will be centered in ratio 1. E.g. if&quot;</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="stringliteral">&quot; between smallest and biggest scale. The scales will be centered in ratio 1. E.g., if&quot;</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="stringliteral">&quot; scaleRange = 0.4 and scalesNumber = 2, then there will be 2 scales, 0.8 and 1.2.&quot;</span>);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(hand_tracking, <span class="keyword">false</span>, <span class="stringliteral">&quot;Adding hand tracking might improve hand keypoints detection for webcam (if the frame rate&quot;</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(hand_tracking, <span class="keyword">false</span>, <span class="stringliteral">&quot;Adding hand tracking might improve hand keypoints detection for webcam (if the frame rate&quot;</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="stringliteral">&quot; is high enough, i.e. &gt;7 FPS per GPU) and video. This is not person ID tracking, it&quot;</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="stringliteral">&quot; simply looks for hands in positions at which hands were located in previous frames, but&quot;</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="stringliteral">&quot; it does not guarantee the same person ID among frames.&quot;</span>);</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment">// OpenPose 3-D Reconstruction</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(3d, <span class="keyword">false</span>, <span class="stringliteral">&quot;Running OpenPose 3-D reconstruction demo: 1) Reading from a stereo camera system.&quot;</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(3d, <span class="keyword">false</span>, <span class="stringliteral">&quot;Running OpenPose 3-D reconstruction demo: 1) Reading from a stereo camera system.&quot;</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="stringliteral">&quot; 2) Performing 3-D reconstruction from the multiple views. 3) Displaying 3-D reconstruction&quot;</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="stringliteral">&quot; results. Note that it will only display 1 person. If multiple people is present, it will&quot;</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="stringliteral">&quot; fail.&quot;</span>);</div>
@@ -261,7 +261,7 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="stringliteral">&quot; `--camera_parameters_folder` must be set. OpenPose must find as many `xml` files in the&quot;</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="stringliteral">&quot; parameter folder as this number indicates.&quot;</span>);</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment">// Extra algorithms</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(identification, <span class="keyword">false</span>, <span class="stringliteral">&quot;Experimental, not available yet. Whether to enable people identification across frames.&quot;</span>);</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(identification, <span class="keyword">false</span>, <span class="stringliteral">&quot;Experimental, not available yet. Whether to enable people identification across frames.&quot;</span>);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<a class="code" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a>(tracking, -1, <span class="stringliteral">&quot;Experimental, not available yet. Whether to enable people tracking across frames. The&quot;</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="stringliteral">&quot; value indicates the number of frames where tracking is run between each OpenPose keypoint&quot;</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="stringliteral">&quot; detection. Select -1 (default) to disable it or 0 to run simultaneously OpenPose keypoint&quot;</span></div>
@@ -273,7 +273,7 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<a class="code" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a>(part_to_show, 0, <span class="stringliteral">&quot;Prediction channel to visualize (default: 0). 0 for all the body parts, 1-18 for each body&quot;</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="stringliteral">&quot; part heat map, 19 for the background heat map, 20 for all the body part heat maps&quot;</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="stringliteral">&quot; together, 21 for all the PAFs, 22-40 for each body part pair PAF.&quot;</span>);</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(disable_blending, <span class="keyword">false</span>, <span class="stringliteral">&quot;If enabled, it will render the results (keypoint skeletons or heatmaps) on a black&quot;</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(disable_blending, <span class="keyword">false</span>, <span class="stringliteral">&quot;If enabled, it will render the results (keypoint skeletons or heatmaps) on a black&quot;</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="stringliteral">&quot; background, instead of being rendered into the original image. Related: `part_to_show`,&quot;</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="stringliteral">&quot; `alpha_pose`, and `alpha_pose`.&quot;</span>);</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment">// OpenPose Rendering Pose</span></div>
@@ -282,7 +282,7 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="stringliteral">&quot; while small thresholds (~0.1) will also output guessed and occluded keypoints, but also&quot;</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="stringliteral">&quot; more false positives (i.e. wrong detections).&quot;</span>);</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<a class="code" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a>(render_pose, -1, <span class="stringliteral">&quot;Set to 0 for no rendering, 1 for CPU rendering (slightly faster), and 2 for GPU rendering&quot;</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="stringliteral">&quot; (slower but greater functionality, e.g. `alpha_X` flags). If -1, it will pick CPU if&quot;</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="stringliteral">&quot; (slower but greater functionality, e.g., `alpha_X` flags). If -1, it will pick CPU if&quot;</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="stringliteral">&quot; CPU_ONLY is enabled, or GPU if CUDA is enabled. If rendering is enabled, it will render&quot;</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="stringliteral">&quot; both `outputData` and `cvOutputData` with the original image and desired body part to be&quot;</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="stringliteral">&quot; shown (i.e. keypoints, heat maps or PAFs).&quot;</span>);</div>
@@ -304,8 +304,8 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<a class="code" href="flags_8hpp.html#a29f9621cd9361deec9512f8d8b53e6ba">DEFINE_double</a>(hand_alpha_heatmap, 0.7, <span class="stringliteral">&quot;Analogous to `alpha_heatmap` but applied to hand.&quot;</span>);</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="preprocessor">#ifndef OPENPOSE_FLAGS_DISABLE_DISPLAY</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="preprocessor"></span><span class="comment">// Display</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(fullscreen, <span class="keyword">false</span>, <span class="stringliteral">&quot;Run in full-screen mode (press f during runtime to toggle).&quot;</span>);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<a class="code" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a>(no_gui_verbose, <span class="keyword">false</span>, <span class="stringliteral">&quot;Do not write text on output images on GUI (e.g. number of current frame and people). It&quot;</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(fullscreen, <span class="keyword">false</span>, <span class="stringliteral">&quot;Run in full-screen mode (press f during runtime to toggle).&quot;</span>);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<a class="code" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a>(no_gui_verbose, <span class="keyword">false</span>, <span class="stringliteral">&quot;Do not write text on output images on GUI (e.g., number of current frame and people). It&quot;</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="stringliteral">&quot; does not affect the pose rendering.&quot;</span>);</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<a class="code" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a>(display, -1, <span class="stringliteral">&quot;Display mode: -1 for automatic selection; 0 for no display (useful if there is no X server&quot;</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="stringliteral">&quot; and/or to slightly speed up the processing if visual output is not required); 2 for 2-D&quot;</span></div>
@@ -313,7 +313,7 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="preprocessor">#endif // OPENPOSE_FLAGS_DISABLE_DISPLAY</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="preprocessor"></span><span class="comment">// Result Saving</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_images, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Directory to write rendered frames in `write_images_format` image format.&quot;</span>);</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_images_format, <span class="stringliteral">&quot;png&quot;</span>, <span class="stringliteral">&quot;File extension and format for `write_images`, e.g. png, jpg or bmp. Check the OpenCV&quot;</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_images_format, <span class="stringliteral">&quot;png&quot;</span>, <span class="stringliteral">&quot;File extension and format for `write_images`, e.g., png, jpg or bmp. Check the OpenCV&quot;</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="stringliteral">&quot; function cv::imwrite for all compatible extensions.&quot;</span>);</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_video, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Full file path to write rendered frames in motion JPEG video format. It might fail if the&quot;</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="stringliteral">&quot; final path does not finish in `.avi`. It internally uses cv::VideoWriter. Flag&quot;</span></div>
@@ -322,27 +322,29 @@ $(document).ready(function(){initNavTree('flags_8hpp_source.html','');});
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="stringliteral">&quot; keypoints (2-D and 3-D), as well as pose candidates (if `--part_candidates` enabled).&quot;</span>);</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_coco_json, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Full file path to write people pose data with JSON COCO validation format.&quot;</span>);</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_coco_foot_json, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Full file path to write people foot pose data with JSON COCO validation format.&quot;</span>);</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_heatmaps, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Directory to write body pose heatmaps in PNG format. At least 1 `add_heatmaps_X` flag&quot;</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="stringliteral">&quot; must be enabled.&quot;</span>);</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_heatmaps_format, <span class="stringliteral">&quot;png&quot;</span>, <span class="stringliteral">&quot;File extension and format for `write_heatmaps`, analogous to `write_images_format`.&quot;</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="stringliteral">&quot; For lossless compression, recommended `png` for integer `heatmaps_scale` and `float` for&quot;</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="stringliteral">&quot; floating values.&quot;</span>);</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_keypoint, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;(Deprecated, use `write_json`) Directory to write the people pose keypoint data. Set format&quot;</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="stringliteral">&quot; with `write_keypoint_format`.&quot;</span>);</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_keypoint_format, <span class="stringliteral">&quot;yml&quot;</span>, <span class="stringliteral">&quot;(Deprecated, use `write_json`) File extension and format for `write_keypoint`: json, xml,&quot;</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="stringliteral">&quot; yaml &amp; yml. Json not available for OpenCV &lt; 3.0, use `write_json` instead.&quot;</span>);</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="comment">// Result Saving - Extra Algorithms</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_video_adam, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Experimental, not available yet. E.g.: `~/Desktop/adamResult.avi`. Flag `camera_fps`&quot;</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="stringliteral">&quot; controls FPS.&quot;</span>);</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_bvh, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Experimental, not available yet. E.g.: `~/Desktop/mocapResult.bvh`.&quot;</span>);</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="comment">// UDP communication</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(udp_host, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Experimental, not available yet. IP for UDP communication. E.g., `192.168.0.1`.&quot;</span>);</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(udp_port, <span class="stringliteral">&quot;8051&quot;</span>, <span class="stringliteral">&quot;Experimental, not available yet. Port number for UDP communication.&quot;</span>);</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="preprocessor">#endif // OPENPOSE_FLAGS_DISABLE_POSE</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="preprocessor">#endif // OPENPOSE_FLAGS_HPP</span></div>
<div class="ttc" id="flags_8hpp_html_a0e9cb0627d386e4d69e5eae0593d70ad"><div class="ttname"><a href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">DEFINE_bool</a></div><div class="ttdeci">DEFINE_bool(disable_multi_thread, false,&quot;It would slightly reduce the frame rate in order to highly reduce the lag. Mainly useful&quot;&quot; for 1) Cases where it is needed a low latency (e.g. webcam in real-time scenarios with&quot;&quot; low-range GPU devices); and 2) Debugging OpenPose when it is crashing to locate the&quot;&quot; error.&quot;)</div></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<a class="code" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a>(write_coco_json_variant, 0, <span class="stringliteral">&quot;Currently, this option is experimental and only makes effect on car JSON generation. It&quot;</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="stringliteral">&quot; selects the COCO variant for cocoJsonSaver.&quot;</span>);</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_heatmaps, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Directory to write body pose heatmaps in PNG format. At least 1 `add_heatmaps_X` flag&quot;</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="stringliteral">&quot; must be enabled.&quot;</span>);</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_heatmaps_format, <span class="stringliteral">&quot;png&quot;</span>, <span class="stringliteral">&quot;File extension and format for `write_heatmaps`, analogous to `write_images_format`.&quot;</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="stringliteral">&quot; For lossless compression, recommended `png` for integer `heatmaps_scale` and `float` for&quot;</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="stringliteral">&quot; floating values.&quot;</span>);</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_keypoint, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;(Deprecated, use `write_json`) Directory to write the people pose keypoint data. Set format&quot;</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="stringliteral">&quot; with `write_keypoint_format`.&quot;</span>);</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_keypoint_format, <span class="stringliteral">&quot;yml&quot;</span>, <span class="stringliteral">&quot;(Deprecated, use `write_json`) File extension and format for `write_keypoint`: json, xml,&quot;</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="stringliteral">&quot; yaml &amp; yml. Json not available for OpenCV &lt; 3.0, use `write_json` instead.&quot;</span>);</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="comment">// Result Saving - Extra Algorithms</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_video_adam, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Experimental, not available yet. E.g., `~/Desktop/adamResult.avi`. Flag `camera_fps`&quot;</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="stringliteral">&quot; controls FPS.&quot;</span>);</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(write_bvh, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Experimental, not available yet. E.g., `~/Desktop/mocapResult.bvh`.&quot;</span>);</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment">// UDP communication</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(udp_host, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Experimental, not available yet. IP for UDP communication. E.g., `192.168.0.1`.&quot;</span>);</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<a class="code" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a>(udp_port, <span class="stringliteral">&quot;8051&quot;</span>, <span class="stringliteral">&quot;Experimental, not available yet. Port number for UDP communication.&quot;</span>);</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="preprocessor">#endif // OPENPOSE_FLAGS_DISABLE_POSE</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="preprocessor">#endif // OPENPOSE_FLAGS_HPP</span></div>
<div class="ttc" id="flags_8hpp_html_a29f9621cd9361deec9512f8d8b53e6ba"><div class="ttname"><a href="flags_8hpp.html#a29f9621cd9361deec9512f8d8b53e6ba">DEFINE_double</a></div><div class="ttdeci">DEFINE_double(camera_fps, 30.0,&quot;Frame rate for the webcam (also used when saving video). Set this value to the minimum&quot;&quot; value between the OpenPose displayed speed and the webcam real frame rate.&quot;)</div></div>
<div class="ttc" id="flags_8hpp_html_a035ba7d578f36103d096569f1984ab61"><div class="ttname"><a href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">DEFINE_bool</a></div><div class="ttdeci">DEFINE_bool(disable_multi_thread, false,&quot;It would slightly reduce the frame rate in order to highly reduce the lag. Mainly useful&quot;&quot; for 1) Cases where it is needed a low latency (e.g., webcam in real-time scenarios with&quot;&quot; low-range GPU devices); and 2) Debugging OpenPose when it is crashing to locate the&quot;&quot; error.&quot;)</div></div>
<div class="ttc" id="flags_8hpp_html_a9e7b1394aea185360a1fe19cf4e20a89"><div class="ttname"><a href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">DEFINE_string</a></div><div class="ttdeci">DEFINE_string(camera_resolution,&quot;-1x-1&quot;,&quot;Set the camera resolution (either `--camera` or `--flir_camera`). `-1x-1` will use the&quot;&quot; default 1280x720 for `--camera`, or the maximum flir camera resolution available for&quot;&quot; `--flir_camera`&quot;)</div></div>
<div class="ttc" id="flags_8hpp_html_a73ee51843ead02ee6358fe39dcbeffde"><div class="ttname"><a href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">DEFINE_int32</a></div><div class="ttdeci">DEFINE_int32(logging_level, 3,&quot;The logging level. Integer in the range [0, 255]. 0 will output any log() message, while&quot;&quot; 255 will not output any. Current OpenPose library messages are in the range 0-4: 1 for&quot;&quot; low priority messages and 4 for important ones.&quot;)</div></div>
<div class="ttc" id="flags_8hpp_html_a1433eaf1c5eb42e406e76bc6f8e517c3"><div class="ttname"><a href="flags_8hpp.html#a1433eaf1c5eb42e406e76bc6f8e517c3">DEFINE_uint64</a></div><div class="ttdeci">DEFINE_uint64(frame_first, 0,&quot;Start on desired frame number. Indexes are 0-based, i.e. the first frame has index 0.&quot;)</div></div>
+1 -1
View File
@@ -194,7 +194,7 @@ $(document).ready(function(){initNavTree('functions_c.html','');});
, <a class="el" href="structop_1_1_datum.html#a847f62b3060c5d0d106e60c29df87a0b">op::Datum</a>
</li>
<li>CocoJsonSaver()
: <a class="el" href="classop_1_1_coco_json_saver.html#a0ce96fcd7dfaa2791f514a8363d018ff">op::CocoJsonSaver</a>
: <a class="el" href="classop_1_1_coco_json_saver.html#a380d4638d09cfe9c26551cc2efb7c3a8">op::CocoJsonSaver</a>
</li>
<li>comma()
: <a class="el" href="classop_1_1_json_ofstream.html#ae4468279f789c8026d431b2ef62646f9">op::JsonOfstream</a>
+1 -1
View File
@@ -173,7 +173,7 @@ $(document).ready(function(){initNavTree('functions_func_c.html','');});
, <a class="el" href="structop_1_1_datum.html#a847f62b3060c5d0d106e60c29df87a0b">op::Datum</a>
</li>
<li>CocoJsonSaver()
: <a class="el" href="classop_1_1_coco_json_saver.html#a0ce96fcd7dfaa2791f514a8363d018ff">op::CocoJsonSaver</a>
: <a class="el" href="classop_1_1_coco_json_saver.html#a380d4638d09cfe9c26551cc2efb7c3a8">op::CocoJsonSaver</a>
</li>
<li>comma()
: <a class="el" href="classop_1_1_json_ofstream.html#ae4468279f789c8026d431b2ef62646f9">op::JsonOfstream</a>
+1 -1
View File
@@ -348,7 +348,7 @@ $(document).ready(function(){initNavTree('functions_func_w.html','');});
: <a class="el" href="structop_1_1_wrapper_struct_input.html#a529d945c83bb69ac1db7b8db371e6622">op::WrapperStructInput</a>
</li>
<li>WrapperStructOutput()
: <a class="el" href="structop_1_1_wrapper_struct_output.html#a46207e61b143191a6cb79d397af43989">op::WrapperStructOutput</a>
: <a class="el" href="structop_1_1_wrapper_struct_output.html#ae6af809e1b560ca018861ee8221bad21">op::WrapperStructOutput</a>
</li>
<li>WrapperStructPose()
: <a class="el" href="structop_1_1_wrapper_struct_pose.html#a5ea7564df25975c4279547acb885376a">op::WrapperStructPose</a>
+3
View File
@@ -664,6 +664,9 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>writeCocoJson
: <a class="el" href="structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b">op::WrapperStructOutput</a>
</li>
<li>writeCocoJsonVariant
: <a class="el" href="structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de">op::WrapperStructOutput</a>
</li>
<li>writeHeatMaps
: <a class="el" href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc">op::WrapperStructOutput</a>
</li>
+7 -4
View File
@@ -340,8 +340,8 @@ $(document).ready(function(){initNavTree('functions_w.html','');});
: <a class="el" href="classop_1_1_w_queue_orderer.html#a3303add5fa8cc36593d3d859ffdd8ae0">op::WQueueOrderer&lt; TDatums &gt;</a>
</li>
<li>Wrapper()
: <a class="el" href="classcl_1_1detail_1_1_wrapper.html#af91bafdf8593c34e0d0722cdd93010be">cl::detail::Wrapper&lt; T &gt;</a>
, <a class="el" href="classcl_1_1detail_1_1_wrapper_3_01cl__device__id_01_4.html#a6a4506b8f3920fb2487b1a5448a6f10c">cl::detail::Wrapper&lt; cl_device_id &gt;</a>
: <a class="el" href="classcl_1_1detail_1_1_wrapper.html#a115618e2baf10ec5c09513394d985ea6">cl::detail::Wrapper&lt; T &gt;</a>
, <a class="el" href="classcl_1_1detail_1_1_wrapper_3_01cl__device__id_01_4.html#a6881f47b159f53e2efefc3325127bdc5">cl::detail::Wrapper&lt; cl_device_id &gt;</a>
</li>
<li>WrapperStructExtra()
: <a class="el" href="structop_1_1_wrapper_struct_extra.html#a70cdc27c953962810333fafe011f86dd">op::WrapperStructExtra</a>
@@ -356,7 +356,7 @@ $(document).ready(function(){initNavTree('functions_w.html','');});
: <a class="el" href="structop_1_1_wrapper_struct_input.html#a529d945c83bb69ac1db7b8db371e6622">op::WrapperStructInput</a>
</li>
<li>WrapperStructOutput()
: <a class="el" href="structop_1_1_wrapper_struct_output.html#a46207e61b143191a6cb79d397af43989">op::WrapperStructOutput</a>
: <a class="el" href="structop_1_1_wrapper_struct_output.html#ae6af809e1b560ca018861ee8221bad21">op::WrapperStructOutput</a>
</li>
<li>WrapperStructPose()
: <a class="el" href="structop_1_1_wrapper_struct_pose.html#a5ea7564df25975c4279547acb885376a">op::WrapperStructPose</a>
@@ -365,7 +365,7 @@ $(document).ready(function(){initNavTree('functions_w.html','');});
: <a class="el" href="classop_1_1_wrapper_t.html#af1a56f0542a2cbcc11d6b185adeb5626">op::WrapperT&lt; TDatums, TDatumsSP, TWorker &gt;</a>
</li>
<li>write()
: <a class="el" href="classop_1_1_video_saver.html#a3cdbef8bada237edffaf7793eaa0fe8e">op::VideoSaver</a>
: <a class="el" href="classop_1_1_video_saver.html#a7c79397b9be8b6d6d12b9f3e78e6c794">op::VideoSaver</a>
</li>
<li>writeBvh
: <a class="el" href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">op::WrapperStructOutput</a>
@@ -376,6 +376,9 @@ $(document).ready(function(){initNavTree('functions_w.html','');});
<li>writeCocoJson
: <a class="el" href="structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b">op::WrapperStructOutput</a>
</li>
<li>writeCocoJsonVariant
: <a class="el" href="structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de">op::WrapperStructOutput</a>
</li>
<li>writeHeatMaps
: <a class="el" href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc">op::WrapperStructOutput</a>
</li>
+3 -3
View File
@@ -223,7 +223,7 @@ $(document).ready(function(){initNavTree('globals.html','');});
: <a class="el" href="datum_8hpp.html#ad96b23e17e179ed25d779d31b8ee2c07">datum.hpp</a>
</li>
<li>DEFINE_bool()
: <a class="el" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">flags.hpp</a>
: <a class="el" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">flags.hpp</a>
</li>
<li>DEFINE_double()
: <a class="el" href="flags_8hpp.html#a890b2b8df8a57fe4e9baa465c6584ccf">flags.hpp</a>
@@ -232,13 +232,13 @@ $(document).ready(function(){initNavTree('globals.html','');});
: <a class="el" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">flags.hpp</a>
</li>
<li>DEFINE_string()
: <a class="el" href="flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89">flags.hpp</a>
: <a class="el" href="flags_8hpp.html#a9aa48b2ab293842bc42b96df9e97c9b8">flags.hpp</a>
</li>
<li>DEFINE_TEMPLATE_DATUM
: <a class="el" href="datum_8hpp.html#ad11d52b69bc54e48ceb2f5787f700431">datum.hpp</a>
</li>
<li>DEFINE_uint64()
: <a class="el" href="flags_8hpp.html#ac8fef8bb0234286e74b75214a750d674">flags.hpp</a>
: <a class="el" href="flags_8hpp.html#a158227abc2af90abaec523a784b40fa8">flags.hpp</a>
</li>
<li>DELETE_COPY
: <a class="el" href="macros_8hpp.html#abef96b5dd35dd9d44ad27ddf0e2f5f2e">macros.hpp</a>
+2 -2
View File
@@ -120,7 +120,7 @@ $(document).ready(function(){initNavTree('globals_func.html','');});
<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>DEFINE_bool()
: <a class="el" href="flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad">flags.hpp</a>
: <a class="el" href="flags_8hpp.html#a035ba7d578f36103d096569f1984ab61">flags.hpp</a>
</li>
<li>DEFINE_double()
: <a class="el" href="flags_8hpp.html#a29f9621cd9361deec9512f8d8b53e6ba">flags.hpp</a>
@@ -129,7 +129,7 @@ $(document).ready(function(){initNavTree('globals_func.html','');});
: <a class="el" href="flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde">flags.hpp</a>
</li>
<li>DEFINE_string()
: <a class="el" href="flags_8hpp.html#a9ab689ebe20a261b20587af79123e79a">flags.hpp</a>
: <a class="el" href="flags_8hpp.html#a7a3597e9216885470199ca1578eb7f69">flags.hpp</a>
</li>
<li>DEFINE_uint64()
: <a class="el" href="flags_8hpp.html#a22572531e5a4896c510639ac57cf522c">flags.hpp</a>
+2 -2
View File
@@ -184,7 +184,7 @@ $(document).ready(function(){initNavTree('index.html','');});
<h2>Quick Start</h2>
<p>Most users do not need the OpenPose C++/Python API, but can simply use the OpenPose Demo:</p>
<ul>
<li><b>OpenPose Demo</b>: To easily process images/video/webcam and display/save the results. See doc/demo_overview.md. E.g. run OpenPose in a video with: ``` <h1>Ubuntu</h1>
<li><b>OpenPose Demo</b>: To easily process images/video/webcam and display/save the results. See doc/demo_overview.md. E.g., run OpenPose in a video with: ``` <h1>Ubuntu</h1>
</li>
</ul>
<p>./build/examples/openpose/openpose.bin &ndash;video examples/media/video.avi :: Windows - Portable Demo bin\OpenPoseDemo.exe &ndash;video examples\media\video.avi ```</p>
@@ -195,7 +195,7 @@ $(document).ready(function(){initNavTree('index.html','');});
<li><b>Adding an extra module</b>: Check ./doc/library_add_new_module.md "doc/library_add_new_module.md".</li>
<li><b>Standalone face or hand detector</b>:<ul>
<li><b>Face</b> keypoint detection <b>without body</b> keypoint detection: If you want to speed it up (but also reduce amount of detected faces), check the OpenCV-face-detector approach in doc/standalone_face_or_hand_keypoint_detector.md.</li>
<li><b>Use your own face/hand detector</b>: You can use the hand and/or face keypoint detectors with your own face or hand detectors, rather than using the body detector. E.g. useful for camera views at which the hands are visible but not the body (OpenPose detector would fail). See doc/standalone_face_or_hand_keypoint_detector.md.</li>
<li><b>Use your own face/hand detector</b>: You can use the hand and/or face keypoint detectors with your own face or hand detectors, rather than using the body detector. E.g., useful for camera views at which the hands are visible but not the body (OpenPose detector would fail). See doc/standalone_face_or_hand_keypoint_detector.md.</li>
</ul>
</li>
</ul>
+4 -4
View File
@@ -46,10 +46,10 @@ var NAVTREEINDEX =
"classop_1_1_queue_base.html#a32ac0e4b14a310aee62ce817e86c0356",
"classop_1_1_w_heat_map_saver.html#a20e82b121a580c578f69cbb0401c4cb0",
"fast_math_8hpp.html",
"gui_2enum_classes_8hpp.html#a6c22a72ce93c64e7582cb670492a50bfab13311ab51c4c34757f67f26580018dd",
"pose_parameters_8hpp.html#a84d87ec0e4ed3cf75a37ce99d0d25ef7",
"structop_1_1_point.html#a9f80114d18ec8055360222d975bcd5a8",
"w_keep_top_n_people_8hpp.html"
"gui_2enum_classes_8hpp.html#a6c22a72ce93c64e7582cb670492a50bf",
"pose_parameters_8hpp.html#a692472b562fba051964f9ddea07b97d7",
"structop_1_1_point.html#a9759f95e852025014cb071aefb242cef",
"w_joint_angle_estimation_8hpp.html"
];
var SYNCONMSG = 'click to disable panel synchronisation';
+2
View File
@@ -1,5 +1,7 @@
var NAVTREEINDEX10 =
{
"w_joint_angle_estimation_8hpp.html":[2,0,0,0,0,4],
"w_joint_angle_estimation_8hpp_source.html":[2,0,0,0,0,4],
"w_keep_top_n_people_8hpp.html":[2,0,0,0,2,18],
"w_keep_top_n_people_8hpp.html#aaee32c4c68404e5086844bcb911b7a20":[2,0,0,0,2,18,1],
"w_keep_top_n_people_8hpp_source.html":[2,0,0,0,2,18],
+1 -1
View File
@@ -119,7 +119,7 @@ var NAVTREEINDEX2 =
"classop_1_1_camera_parameter_reader.html#ade743d816f255e3278bb72c761d82ba6":[1,0,3,2,4],
"classop_1_1_camera_parameter_reader.html#adf7ad0ef26603129a251fdc166ffa548":[1,0,3,2,5],
"classop_1_1_coco_json_saver.html":[1,0,3,34],
"classop_1_1_coco_json_saver.html#a0ce96fcd7dfaa2791f514a8363d018ff":[1,0,3,34,0],
"classop_1_1_coco_json_saver.html#a380d4638d09cfe9c26551cc2efb7c3a8":[1,0,3,34,0],
"classop_1_1_coco_json_saver.html#a3a7fd417aa5d85044fb0703379af1a23":[1,0,3,34,2],
"classop_1_1_coco_json_saver.html#a8bbfab84a7816cb0f189f243246f744b":[1,0,3,34,1],
"classop_1_1_cv_mat_to_op_input.html":[1,0,3,6],
+36 -36
View File
@@ -62,86 +62,87 @@ var NAVTREEINDEX6 =
"filestream_2headers_8hpp.html":[2,0,0,0,4,5],
"filestream_2headers_8hpp_source.html":[2,0,0,0,4,5],
"flags_8hpp.html":[2,0,0,0,15],
"flags_8hpp.html#a035ba7d578f36103d096569f1984ab61":[2,0,0,0,15,0],
"flags_8hpp.html#a055e1e0a1618e96f156f32278b41d3e4":[2,0,0,0,15,60],
"flags_8hpp.html#a072bd893f4003b48bc7c99735eeeed39":[2,0,0,0,15,46],
"flags_8hpp.html#a0a28dd6ee5503f070d08cc9e4a3aff05":[2,0,0,0,15,13],
"flags_8hpp.html#a0e9cb0627d386e4d69e5eae0593d70ad":[2,0,0,0,15,0],
"flags_8hpp.html#a0ee4f86d572ef52ec26dcbb37efb5e65":[2,0,0,0,15,18],
"flags_8hpp.html#a10efaeb1ea3a8478388cc7d0bfd4e59e":[2,0,0,0,15,33],
"flags_8hpp.html#a1433eaf1c5eb42e406e76bc6f8e517c3":[2,0,0,0,15,77],
"flags_8hpp.html#a14f23a4c6dd6c9290e3ee44bd79f96bf":[2,0,0,0,15,18],
"flags_8hpp.html#a1433eaf1c5eb42e406e76bc6f8e517c3":[2,0,0,0,15,78],
"flags_8hpp.html#a158227abc2af90abaec523a784b40fa8":[2,0,0,0,15,80],
"flags_8hpp.html#a18fc454ffeef53c7c73d69c67d1a73fc":[2,0,0,0,15,38],
"flags_8hpp.html#a1a9ffc302eac69c8ba024da3edf01a5f":[2,0,0,0,15,16],
"flags_8hpp.html#a1edea5f45026b353b6e6cc3b196767a0":[2,0,0,0,15,40],
"flags_8hpp.html#a20c481950df0272f0b7b0cde67d8e72a":[2,0,0,0,15,44],
"flags_8hpp.html#a22572531e5a4896c510639ac57cf522c":[2,0,0,0,15,78],
"flags_8hpp.html#a22572531e5a4896c510639ac57cf522c":[2,0,0,0,15,79],
"flags_8hpp.html#a231bec7b2113f31cebb760c849ca2841":[2,0,0,0,15,17],
"flags_8hpp.html#a242473077549869f06534e8a9ea1ddd6":[2,0,0,0,15,70],
"flags_8hpp.html#a26d1c7340fc87d4593dda754d54145a2":[2,0,0,0,15,67],
"flags_8hpp.html#a242473077549869f06534e8a9ea1ddd6":[2,0,0,0,15,71],
"flags_8hpp.html#a26d1c7340fc87d4593dda754d54145a2":[2,0,0,0,15,68],
"flags_8hpp.html#a284252d3d255ad5e5c35815d720fd67a":[2,0,0,0,15,36],
"flags_8hpp.html#a29f9621cd9361deec9512f8d8b53e6ba":[2,0,0,0,15,19],
"flags_8hpp.html#a3051d21eb51cc39eed5f781d8eaed960":[2,0,0,0,15,65],
"flags_8hpp.html#a3051d21eb51cc39eed5f781d8eaed960":[2,0,0,0,15,66],
"flags_8hpp.html#a311e487137e17445e6939abb7cc0cf8f":[2,0,0,0,15,42],
"flags_8hpp.html#a39756aa6d6911435a326e18541db970a":[2,0,0,0,15,52],
"flags_8hpp.html#a4c800b6a91b02874d006da33ab8432cd":[2,0,0,0,15,14],
"flags_8hpp.html#a4cead735de5b43cfcae5c1139df3be1a":[2,0,0,0,15,47],
"flags_8hpp.html#a4da8f1bc0afb58f2a757ab6d90c6042e":[2,0,0,0,15,12],
"flags_8hpp.html#a53eb4c15af968876f31ca0be54d251b3":[2,0,0,0,15,25],
"flags_8hpp.html#a5aaba99bdb163516d0297d2e09dd0c7d":[2,0,0,0,15,72],
"flags_8hpp.html#a5c66f20b5a9a1bc44d3c685fd37ff7f9":[2,0,0,0,15,4],
"flags_8hpp.html#a5db17b8bc6df4fe40b556af7157dcbf7":[2,0,0,0,15,55],
"flags_8hpp.html#a5aaba99bdb163516d0297d2e09dd0c7d":[2,0,0,0,15,73],
"flags_8hpp.html#a5db17b8bc6df4fe40b556af7157dcbf7":[2,0,0,0,15,56],
"flags_8hpp.html#a5e350d38962a702d8e0c658fbbb5cc64":[2,0,0,0,15,4],
"flags_8hpp.html#a5e8200fc5fd8bc1e80b94b029ea8e18d":[2,0,0,0,15,6],
"flags_8hpp.html#a62bfc56794bb8ceaedd0eb7bc32a0f22":[2,0,0,0,15,24],
"flags_8hpp.html#a63936bd2bc53a453ba74066289ab9d29":[2,0,0,0,15,75],
"flags_8hpp.html#a64c46584d79ef0b947ecd0a98b282839":[2,0,0,0,15,2],
"flags_8hpp.html#a63936bd2bc53a453ba74066289ab9d29":[2,0,0,0,15,76],
"flags_8hpp.html#a65152cde78f8e7da1d33f557ec392312":[2,0,0,0,15,48],
"flags_8hpp.html#a669c6f4820af0275f40808b18147b98c":[2,0,0,0,15,7],
"flags_8hpp.html#a66d6d5c07371179c3702dbd1da9d9bd3":[2,0,0,0,15,61],
"flags_8hpp.html#a6957bf419a0ca3478948a62a3ce5ecf0":[2,0,0,0,15,65],
"flags_8hpp.html#a6a501f229de1ba19801b77fd0565527b":[2,0,0,0,15,3],
"flags_8hpp.html#a6b12d681ace972ae8eede484505c50af":[2,0,0,0,15,28],
"flags_8hpp.html#a6c5341914694863528d3d93b23b45f01":[2,0,0,0,15,73],
"flags_8hpp.html#a6c9c8a5843dd8b93e009bf29dc31cde2":[2,0,0,0,15,35],
"flags_8hpp.html#a71043931875d1f5ec677fd69ae96c632":[2,0,0,0,15,27],
"flags_8hpp.html#a72c09e09c94b67f88b53e1a94e7bfe0f":[2,0,0,0,15,75],
"flags_8hpp.html#a73ee51843ead02ee6358fe39dcbeffde":[2,0,0,0,15,31],
"flags_8hpp.html#a7773e867133822f5601899975dc06adb":[2,0,0,0,15,54],
"flags_8hpp.html#a7a3597e9216885470199ca1578eb7f69":[2,0,0,0,15,63],
"flags_8hpp.html#a7773e867133822f5601899975dc06adb":[2,0,0,0,15,55],
"flags_8hpp.html#a7a3597e9216885470199ca1578eb7f69":[2,0,0,0,15,64],
"flags_8hpp.html#a7fc3e871114ac35447499ffda035d51e":[2,0,0,0,15,1],
"flags_8hpp.html#a830bcfa6645bf39a18f59d3b72f75edf":[2,0,0,0,15,60],
"flags_8hpp.html#a8511765700f652000f2c1c2b1a5df9f9":[2,0,0,0,15,37],
"flags_8hpp.html#a85be61a31eaa438a7e9c7d2baf51da47":[2,0,0,0,15,58],
"flags_8hpp.html#a85be61a31eaa438a7e9c7d2baf51da47":[2,0,0,0,15,59],
"flags_8hpp.html#a890b2b8df8a57fe4e9baa465c6584ccf":[2,0,0,0,15,29],
"flags_8hpp.html#a8e9de971b409cfe7fdded7f0d47c502d":[2,0,0,0,15,32],
"flags_8hpp.html#a94efdbeb7b9adb554d34399279312b8f":[2,0,0,0,15,21],
"flags_8hpp.html#a9a34e10f75069cf3283e535a77006775":[2,0,0,0,15,51],
"flags_8hpp.html#a9aa48b2ab293842bc42b96df9e97c9b8":[2,0,0,0,15,66],
"flags_8hpp.html#a9ab689ebe20a261b20587af79123e79a":[2,0,0,0,15,57],
"flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89":[2,0,0,0,15,52],
"flags_8hpp.html#aa3fe7c4c07492e6553a6c2d25ebd76b4":[2,0,0,0,15,69],
"flags_8hpp.html#a9aa48b2ab293842bc42b96df9e97c9b8":[2,0,0,0,15,67],
"flags_8hpp.html#a9ab689ebe20a261b20587af79123e79a":[2,0,0,0,15,58],
"flags_8hpp.html#a9d45877ef21b9042f1b307d23d404e40":[2,0,0,0,15,2],
"flags_8hpp.html#a9e7b1394aea185360a1fe19cf4e20a89":[2,0,0,0,15,53],
"flags_8hpp.html#aa3fe7c4c07492e6553a6c2d25ebd76b4":[2,0,0,0,15,70],
"flags_8hpp.html#aa5a1826a500d7131fefb480ccd1713fb":[2,0,0,0,15,39],
"flags_8hpp.html#aa797dd033c6f3c4d2654e7000939d270":[2,0,0,0,15,43],
"flags_8hpp.html#aa7b1c758c6d6e35c3227994a9ced0236":[2,0,0,0,15,76],
"flags_8hpp.html#aa7b1c758c6d6e35c3227994a9ced0236":[2,0,0,0,15,77],
"flags_8hpp.html#aa80e5f9914dd35c852941282aa229b21":[2,0,0,0,15,41],
"flags_8hpp.html#aa941a6193b13f3d138437cf2a84e73ff":[2,0,0,0,15,10],
"flags_8hpp.html#aab02d4078b5f7999a582d9c5f4248676":[2,0,0,0,15,53],
"flags_8hpp.html#ab077893503ebb5fba8cb300bd5f93d62":[2,0,0,0,15,64],
"flags_8hpp.html#ab2af299b6380dcd6dc06a95cceb056d4":[2,0,0,0,15,48],
"flags_8hpp.html#aab02d4078b5f7999a582d9c5f4248676":[2,0,0,0,15,54],
"flags_8hpp.html#ab41c02abe3634f0db65123ecda964a31":[2,0,0,0,15,34],
"flags_8hpp.html#abf5c8a05ae8f86c8e4d8eedbceb84516":[2,0,0,0,15,21],
"flags_8hpp.html#ac17a7af1030d7f5bd69672fec961c083":[2,0,0,0,15,30],
"flags_8hpp.html#ac210b56a3c46ff06143a62b0bb725cc6":[2,0,0,0,15,15],
"flags_8hpp.html#ac6c2099e630e05f867ee10b43f35dc65":[2,0,0,0,15,68],
"flags_8hpp.html#ac6c2099e630e05f867ee10b43f35dc65":[2,0,0,0,15,69],
"flags_8hpp.html#ac881df85c5be736d05822ad98ac0496f":[2,0,0,0,15,9],
"flags_8hpp.html#ac8fef8bb0234286e74b75214a750d674":[2,0,0,0,15,79],
"flags_8hpp.html#acfd124be44003a59f2591c7584fd3c75":[2,0,0,0,15,59],
"flags_8hpp.html#ad0269da28dc2033e23b8ea84b7e793a2":[2,0,0,0,15,49],
"flags_8hpp.html#ad0c09dd7ede747d69d36dc86c7ffa11c":[2,0,0,0,15,74],
"flags_8hpp.html#ad739178d4295e31edd2f1e468bd2e600":[2,0,0,0,15,5],
"flags_8hpp.html#ad8c5173beb83c0f9996362b3a3fba820":[2,0,0,0,15,71],
"flags_8hpp.html#ad7a48143249d608e2ad3a8413eb19c34":[2,0,0,0,15,74],
"flags_8hpp.html#ad8c5173beb83c0f9996362b3a3fba820":[2,0,0,0,15,72],
"flags_8hpp.html#ad971ae1068651177e7a78ae68c022792":[2,0,0,0,15,23],
"flags_8hpp.html#ada5b7fef5063818fd668359e9e0b0504":[2,0,0,0,15,50],
"flags_8hpp.html#adf35e9261afec1673a42de6197f07f42":[2,0,0,0,15,20],
"flags_8hpp.html#aea11a0489c2af278990d3ddff10960fd":[2,0,0,0,15,11],
"flags_8hpp.html#af57ca90aafa15b707af299527b0aff6f":[2,0,0,0,15,8],
"flags_8hpp.html#af5ee5f61f0d36a03bb8647408f5e236b":[2,0,0,0,15,61],
"flags_8hpp.html#af5ee5f61f0d36a03bb8647408f5e236b":[2,0,0,0,15,62],
"flags_8hpp.html#af654373ad667b1683f30e350331ea709":[2,0,0,0,15,26],
"flags_8hpp.html#afaf97bbf6a49576782d25147bc865bed":[2,0,0,0,15,62],
"flags_8hpp.html#afaf97bbf6a49576782d25147bc865bed":[2,0,0,0,15,63],
"flags_8hpp.html#afd21fc201e4b269bf0b07b8fce886173":[2,0,0,0,15,22],
"flags_8hpp.html#afdfef14901f7b5e324d6983845f5ab50":[2,0,0,0,15,45],
"flags_8hpp.html#aff61246512375ff5941dc4110e127ca3":[2,0,0,0,15,56],
"flags_8hpp.html#aff61246512375ff5941dc4110e127ca3":[2,0,0,0,15,57],
"flags_8hpp_source.html":[2,0,0,0,15],
"flags_to_open_pose_8hpp.html":[2,0,0,0,13,5],
"flags_to_open_pose_8hpp.html#a1fbdd7c33f90d0237582c9441162a7d8":[2,0,0,0,13,5,6],
@@ -248,6 +249,5 @@ var NAVTREEINDEX6 =
"grid_pattern_functions_8hpp_source.html":[2,0,0,0,1,1],
"gui3_d_8hpp.html":[2,0,0,0,6,3],
"gui3_d_8hpp_source.html":[2,0,0,0,6,3],
"gui_2enum_classes_8hpp.html":[2,0,0,0,6,0],
"gui_2enum_classes_8hpp.html#a6c22a72ce93c64e7582cb670492a50bf":[2,0,0,0,6,0,1]
"gui_2enum_classes_8hpp.html":[2,0,0,0,6,0]
};
+7 -7
View File
@@ -1,5 +1,6 @@
var NAVTREEINDEX7 =
{
"gui_2enum_classes_8hpp.html#a6c22a72ce93c64e7582cb670492a50bf":[2,0,0,0,6,0,1],
"gui_2enum_classes_8hpp.html#a6c22a72ce93c64e7582cb670492a50bfab13311ab51c4c34757f67f26580018dd":[2,0,0,0,6,0,1,1],
"gui_2enum_classes_8hpp.html#a6c22a72ce93c64e7582cb670492a50bfae7ec409749889353b8f83a6b04159420":[2,0,0,0,6,0,1,0],
"gui_2enum_classes_8hpp.html#ae52707752b1872b39f0306cc4f6c6ae6":[2,0,0,0,6,0,0],
@@ -107,12 +108,12 @@ var NAVTREEINDEX7 =
"namespaceboost.html":[1,0,0],
"namespacecaffe.html":[1,0,1],
"namespacecaffe.html":[0,0,1],
"namespacecl.html":[0,0,2],
"namespacecl.html":[1,0,2],
"namespacecl_1_1compatibility.html":[1,0,2,0],
"namespacecl.html":[0,0,2],
"namespacecl_1_1compatibility.html":[0,0,2,0],
"namespacecl_1_1detail.html":[1,0,2,1],
"namespacecl_1_1compatibility.html":[1,0,2,0],
"namespacecl_1_1detail.html":[0,0,2,1],
"namespacecl_1_1detail.html":[1,0,2,1],
"namespacemembers.html":[0,1,0,0],
"namespacemembers.html":[0,1,0],
"namespacemembers_b.html":[0,1,0,1],
@@ -122,8 +123,8 @@ var NAVTREEINDEX7 =
"namespacemembers_enum.html":[0,1,4],
"namespacemembers_eval.html":[0,1,5],
"namespacemembers_f.html":[0,1,0,5],
"namespacemembers_func.html":[0,1,1],
"namespacemembers_func.html":[0,1,1,0],
"namespacemembers_func.html":[0,1,1],
"namespacemembers_func_c.html":[0,1,1,1],
"namespacemembers_func_d.html":[0,1,1,2],
"namespacemembers_func_e.html":[0,1,1,3],
@@ -164,8 +165,8 @@ var NAVTREEINDEX7 =
"namespacemembers_z.html":[0,1,0,24],
"namespaceop.html":[1,0,3],
"namespaceop.html":[0,0,3],
"namespaceop_1_1_configure_error.html":[1,0,3,0],
"namespaceop_1_1_configure_error.html":[0,0,3,0],
"namespaceop_1_1_configure_error.html":[1,0,3,0],
"namespaceop_1_1_configure_log.html":[1,0,3,1],
"namespaceop_1_1_configure_log.html":[0,0,3,1],
"namespaces.html":[0,0],
@@ -248,6 +249,5 @@ var NAVTREEINDEX7 =
"pose_parameters_8hpp.html#a3df938ef93037c534c5d342720d5fb70":[2,0,0,0,9,7,13],
"pose_parameters_8hpp.html#a522d4552d2aeabe367f4d3bf371e6b3e":[2,0,0,0,9,7,16],
"pose_parameters_8hpp.html#a54a6c42a42a0a7e539061f5e30abb4bc":[2,0,0,0,9,7,9],
"pose_parameters_8hpp.html#a59616e83eefc182f8eb6ae51d6425938":[2,0,0,0,9,7,15],
"pose_parameters_8hpp.html#a692472b562fba051964f9ddea07b97d7":[2,0,0,0,9,7,2]
"pose_parameters_8hpp.html#a59616e83eefc182f8eb6ae51d6425938":[2,0,0,0,9,7,15]
};
+2 -2
View File
@@ -1,5 +1,6 @@
var NAVTREEINDEX8 =
{
"pose_parameters_8hpp.html#a692472b562fba051964f9ddea07b97d7":[2,0,0,0,9,7,2],
"pose_parameters_8hpp.html#a84d87ec0e4ed3cf75a37ce99d0d25ef7":[2,0,0,0,9,7,6],
"pose_parameters_8hpp.html#aa170c3107396e4d0e4214bb0c1b78f08":[2,0,0,0,9,7,5],
"pose_parameters_8hpp.html#aab3de911b04b96c1850cc05c6947e184":[2,0,0,0,9,7,0],
@@ -248,6 +249,5 @@ var NAVTREEINDEX8 =
"structop_1_1_point.html#a767e96d42e4653ac09ada5c5cdceb776":[1,0,3,13,21],
"structop_1_1_point.html#a7688d4f0cadcf1970380519df4cfffd7":[1,0,3,13,7],
"structop_1_1_point.html#a812d4ef29d102f4ad18f32ae54eb17ec":[1,0,3,13,25],
"structop_1_1_point.html#a81a09bde4e8e27ec6e8b4808f0f60f57":[1,0,3,13,17],
"structop_1_1_point.html#a9759f95e852025014cb071aefb242cef":[1,0,3,13,5]
"structop_1_1_point.html#a81a09bde4e8e27ec6e8b4808f0f60f57":[1,0,3,13,17]
};
+14 -14
View File
@@ -1,5 +1,6 @@
var NAVTREEINDEX9 =
{
"structop_1_1_point.html#a9759f95e852025014cb071aefb242cef":[1,0,3,13,5],
"structop_1_1_point.html#a9f80114d18ec8055360222d975bcd5a8":[1,0,3,13,0],
"structop_1_1_point.html#aa389e5c56126074997b4a6fb1a471b45":[1,0,3,13,12],
"structop_1_1_point.html#aa50152ec0736b622c159eb0ec8f7ad2b":[1,0,3,13,8],
@@ -79,24 +80,25 @@ var NAVTREEINDEX9 =
"structop_1_1_wrapper_struct_input.html#ae2078c540324a9cdc8500dce5d361bee":[1,0,3,125,2],
"structop_1_1_wrapper_struct_input.html#ae7183e10862dbdbed422f042f1a71ed1":[1,0,3,125,13],
"structop_1_1_wrapper_struct_output.html":[1,0,3,126],
"structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056":[1,0,3,126,10],
"structop_1_1_wrapper_struct_output.html#a46207e61b143191a6cb79d397af43989":[1,0,3,126,0],
"structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de":[1,0,3,126,9],
"structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056":[1,0,3,126,11],
"structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817":[1,0,3,126,1],
"structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85":[1,0,3,126,11],
"structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85":[1,0,3,126,12],
"structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b":[1,0,3,126,8],
"structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277":[1,0,3,126,16],
"structop_1_1_wrapper_struct_output.html#a8a2f29bae4ff55195b10a83717a0f738":[1,0,3,126,13],
"structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277":[1,0,3,126,17],
"structop_1_1_wrapper_struct_output.html#a8a2f29bae4ff55195b10a83717a0f738":[1,0,3,126,14],
"structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117":[1,0,3,126,4],
"structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6":[1,0,3,126,17],
"structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6":[1,0,3,126,18],
"structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74":[1,0,3,126,7],
"structop_1_1_wrapper_struct_output.html#aaf5df884418d2bf1df36505009264ece":[1,0,3,126,2],
"structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5":[1,0,3,126,12],
"structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5":[1,0,3,126,13],
"structop_1_1_wrapper_struct_output.html#ac72ad601daf957b9b000206e9f1fe0ad":[1,0,3,126,3],
"structop_1_1_wrapper_struct_output.html#ad338fd4719d6f243bb64bc67f68bc7c9":[1,0,3,126,15],
"structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505":[1,0,3,126,18],
"structop_1_1_wrapper_struct_output.html#ad9ca696781cb7c250752f078f5c937fc":[1,0,3,126,14],
"structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc":[1,0,3,126,9],
"structop_1_1_wrapper_struct_output.html#ad338fd4719d6f243bb64bc67f68bc7c9":[1,0,3,126,16],
"structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505":[1,0,3,126,19],
"structop_1_1_wrapper_struct_output.html#ad9ca696781cb7c250752f078f5c937fc":[1,0,3,126,15],
"structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc":[1,0,3,126,10],
"structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53":[1,0,3,126,6],
"structop_1_1_wrapper_struct_output.html#ae6af809e1b560ca018861ee8221bad21":[1,0,3,126,0],
"structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c":[1,0,3,126,5],
"structop_1_1_wrapper_struct_pose.html":[1,0,3,127],
"structop_1_1_wrapper_struct_pose.html#a02c4ab6b56e4da4b3ed0da4eae8ac0fc":[1,0,3,127,15],
@@ -247,7 +249,5 @@ var NAVTREEINDEX9 =
"w_id_generator_8hpp_source.html":[2,0,0,0,11,12],
"w_image_saver_8hpp.html":[2,0,0,0,4,18],
"w_image_saver_8hpp.html#a505ea16cc6c2c0068bbf4e7269dc8e0a":[2,0,0,0,4,18,1],
"w_image_saver_8hpp_source.html":[2,0,0,0,4,18],
"w_joint_angle_estimation_8hpp.html":[2,0,0,0,0,4],
"w_joint_angle_estimation_8hpp_source.html":[2,0,0,0,0,4]
"w_image_saver_8hpp_source.html":[2,0,0,0,4,18]
};
+13 -12
View File
@@ -87,8 +87,8 @@ var searchData=
['wkeypointscaler',['WKeypointScaler',['../classop_1_1_w_keypoint_scaler.html#a31624e262988b0840a8ddbf098e56e9b',1,'op::WKeypointScaler']]],
['wkeypointscaler',['WKeypointScaler',['../classop_1_1_w_keypoint_scaler.html',1,'op']]],
['wkeypointscaler_2ehpp',['wKeypointScaler.hpp',['../w_keypoint_scaler_8hpp.html',1,'']]],
['wopoutputtocvmat',['WOpOutputToCvMat',['../classop_1_1_w_op_output_to_cv_mat.html#a6f632a83de4cdc731c3f52d1541060f3',1,'op::WOpOutputToCvMat']]],
['wopoutputtocvmat',['WOpOutputToCvMat',['../classop_1_1_w_op_output_to_cv_mat.html',1,'op']]],
['wopoutputtocvmat',['WOpOutputToCvMat',['../classop_1_1_w_op_output_to_cv_mat.html#a6f632a83de4cdc731c3f52d1541060f3',1,'op::WOpOutputToCvMat']]],
['wopoutputtocvmat_2ehpp',['wOpOutputToCvMat.hpp',['../w_op_output_to_cv_mat_8hpp.html',1,'']]],
['work',['work',['../classop_1_1_w_pose_triangulation.html#a495b29e03933d750827acc0531c72c78',1,'op::WPoseTriangulation::work()'],['../classop_1_1_w_cv_mat_to_op_input.html#aa7faa9e2671a85d36aad3366a7958f58',1,'op::WCvMatToOpInput::work()'],['../classop_1_1_w_cv_mat_to_op_output.html#a0bf2e43d2586c83fdd5cb0b1b54aefca',1,'op::WCvMatToOpOutput::work()'],['../classop_1_1_w_keep_top_n_people.html#a5928a091e0990706ab2ea5e5e07629dd',1,'op::WKeepTopNPeople::work()'],['../classop_1_1_w_keypoint_scaler.html#aacad5116921e2ff746fbdf9f6c0cbb25',1,'op::WKeypointScaler::work()'],['../classop_1_1_w_op_output_to_cv_mat.html#ae3fc21569d56a648c606b23fcc016349',1,'op::WOpOutputToCvMat::work()'],['../classop_1_1_w_scale_and_size_extractor.html#afddf54d061dc5325e78252a3bba482b9',1,'op::WScaleAndSizeExtractor::work()'],['../classop_1_1_w_face_detector.html#a721ced99378516c04cb3cff296cc274a',1,'op::WFaceDetector::work()'],['../classop_1_1_w_face_detector_open_c_v.html#a4d3a4a29bcb7b8c141ae1917634ca4c9',1,'op::WFaceDetectorOpenCV::work()'],['../classop_1_1_w_face_extractor_net.html#aa47940fb2ed940a53c7a305ce45817a3',1,'op::WFaceExtractorNet::work()'],['../classop_1_1_w_face_renderer.html#aa52166ea2d5e0f201c94d5c4fe74216e',1,'op::WFaceRenderer::work()'],['../classop_1_1_w_gui_info_adder.html#ae90a68c6ef7b4f45595a020efd232612',1,'op::WGuiInfoAdder::work()'],['../classop_1_1_w_hand_detector.html#aa82ef40fad1d343b5856b41ec4dbcd5c',1,'op::WHandDetector::work()'],['../classop_1_1_w_hand_detector_from_txt.html#a51ebff94734350463fcf507a84eeefdc',1,'op::WHandDetectorFromTxt::work()'],['../classop_1_1_w_hand_detector_tracking.html#a7c849c5a423ffc150c6a4aee9055d34e',1,'op::WHandDetectorTracking::work()'],['../classop_1_1_w_hand_detector_update.html#af9287dc0a3c67abd35974c1c74614f3c',1,'op::WHandDetectorUpdate::work()'],['../classop_1_1_w_hand_extractor_net.html#a21ffee48567b1c7c8994e4effef6cffe',1,'op::WHandExtractorNet::work()'],['../classop_1_1_w_hand_renderer.html#ad178e8d413b3b15edc53625e1f5119d7',1,'op::WHandRenderer::work()'],['../classop_1_1_w_pose_extractor.html#ae0f02aaefccab05bbbd919dd7a9e0f61',1,'op::WPoseExtractor::work()'],['../classop_1_1_w_pose_extractor_net.html#a3d691e30c419c70e23a4d7b3c92adb4b',1,'op::WPoseExtractorNet::work()'],['../classop_1_1_w_pose_renderer.html#a10b1631d78d8270ed2a16e538b30eb76',1,'op::WPoseRenderer::work()'],['../classop_1_1_sub_thread.html#a14330cbc1117f32b6d69c1733ccdeb61',1,'op::SubThread::work()'],['../classop_1_1_sub_thread_no_queue.html#acb7edd02e1724e0fd131235666009f42',1,'op::SubThreadNoQueue::work()'],['../classop_1_1_sub_thread_queue_in.html#a7e9bd6ca09bb77a8de76ae8a02ee8ed4',1,'op::SubThreadQueueIn::work()'],['../classop_1_1_sub_thread_queue_in_out.html#abb65911e9d9b6d5efe782ca0e599be3b',1,'op::SubThreadQueueInOut::work()'],['../classop_1_1_sub_thread_queue_out.html#a0ff5f79e63038ffa5b4aca24cfea7e7c',1,'op::SubThreadQueueOut::work()'],['../classop_1_1_w_id_generator.html#a03bd005cf88749702fb8a29c20d4cb91',1,'op::WIdGenerator::work()'],['../classop_1_1_worker.html#a9acadd6df7af03b31b9e354ae815f781',1,'op::Worker::work()'],['../classop_1_1_worker_consumer.html#a7383747b3bdc6ac79e6f9afbf2c28d27',1,'op::WorkerConsumer::work()'],['../classop_1_1_worker_producer.html#a0259f0b387e2b868388ba0a6769f4691',1,'op::WorkerProducer::work()'],['../classop_1_1_w_queue_assembler.html#a19d61a7a4d44c7a3cf78ecdb461be769',1,'op::WQueueAssembler::work()'],['../classop_1_1_w_queue_orderer.html#a1ea314eeaa8d99fbf33885d9a4c6d044',1,'op::WQueueOrderer::work()'],['../classop_1_1_w_person_id_extractor.html#a4066bf1c8cad753c74de1ceabdd76505',1,'op::WPersonIdExtractor::work()']]],
['workconsumer',['workConsumer',['../classop_1_1_w_coco_json_saver.html#af152a61abc9ab46da651c9d87e6775f0',1,'op::WCocoJsonSaver::workConsumer()'],['../classop_1_1_w_face_saver.html#a026bfad8cd9e0d1289a1db473cef34a0',1,'op::WFaceSaver::workConsumer()'],['../classop_1_1_w_hand_saver.html#afc3976b394070927b9396163137317e5',1,'op::WHandSaver::workConsumer()'],['../classop_1_1_w_heat_map_saver.html#a5fd729a47f0cdbe94001219f971f8f51',1,'op::WHeatMapSaver::workConsumer()'],['../classop_1_1_w_image_saver.html#a198bbfcf625354ddda419e0121d0cb33',1,'op::WImageSaver::workConsumer()'],['../classop_1_1_w_people_json_saver.html#af874a16a06a9a3452a0e3792ac15647e',1,'op::WPeopleJsonSaver::workConsumer()'],['../classop_1_1_w_pose_saver.html#a039027281498168b57df8dfeefd82cd8',1,'op::WPoseSaver::workConsumer()'],['../classop_1_1_w_udp_sender.html#a615fc6a537ca9f624022698391c11a54',1,'op::WUdpSender::workConsumer()'],['../classop_1_1_w_video_saver.html#a40bcb8ccf137c6cbee3ca31e6cc3bfbf',1,'op::WVideoSaver::workConsumer()'],['../classop_1_1_w_gui.html#a664e1f76211510e38b8d5f5bed37ffcb',1,'op::WGui::workConsumer()'],['../classop_1_1_w_gui3_d.html#afe019cff8fd5ed2f59f59d886de7473a',1,'op::WGui3D::workConsumer()'],['../classop_1_1_worker_consumer.html#a26cf5c40df363d94d603fce92a5b69eb',1,'op::WorkerConsumer::workConsumer()']]],
@@ -108,26 +108,26 @@ var searchData=
['wpersonidextractor',['WPersonIdExtractor',['../classop_1_1_w_person_id_extractor.html#a14a6cc9c6c70acd4847482fd71e4972b',1,'op::WPersonIdExtractor']]],
['wpersonidextractor',['WPersonIdExtractor',['../classop_1_1_w_person_id_extractor.html',1,'op']]],
['wpersonidextractor_2ehpp',['wPersonIdExtractor.hpp',['../w_person_id_extractor_8hpp.html',1,'']]],
['wposeextractor',['WPoseExtractor',['../classop_1_1_w_pose_extractor.html',1,'op']]],
['wposeextractor',['WPoseExtractor',['../classop_1_1_w_pose_extractor.html#ae85b1ec41bf47dcf1aed7bdae1d91915',1,'op::WPoseExtractor']]],
['wposeextractor',['WPoseExtractor',['../classop_1_1_w_pose_extractor.html',1,'op']]],
['wposeextractor_2ehpp',['wPoseExtractor.hpp',['../w_pose_extractor_8hpp.html',1,'']]],
['wposeextractornet',['WPoseExtractorNet',['../classop_1_1_w_pose_extractor_net.html',1,'op']]],
['wposeextractornet',['WPoseExtractorNet',['../classop_1_1_w_pose_extractor_net.html#aa0f6b7ec6f36fe2a27649ac2c7490c09',1,'op::WPoseExtractorNet']]],
['wposeextractornet',['WPoseExtractorNet',['../classop_1_1_w_pose_extractor_net.html',1,'op']]],
['wposeextractornet_2ehpp',['wPoseExtractorNet.hpp',['../w_pose_extractor_net_8hpp.html',1,'']]],
['wposerenderer',['WPoseRenderer',['../classop_1_1_w_pose_renderer.html#ae74189143175b89ccd36662cec4de72e',1,'op::WPoseRenderer']]],
['wposerenderer',['WPoseRenderer',['../classop_1_1_w_pose_renderer.html',1,'op']]],
['wposerenderer',['WPoseRenderer',['../classop_1_1_w_pose_renderer.html#ae74189143175b89ccd36662cec4de72e',1,'op::WPoseRenderer']]],
['wposerenderer_2ehpp',['wPoseRenderer.hpp',['../w_pose_renderer_8hpp.html',1,'']]],
['wposesaver',['WPoseSaver',['../classop_1_1_w_pose_saver.html',1,'op']]],
['wposesaver',['WPoseSaver',['../classop_1_1_w_pose_saver.html#aa9dd0f4649c9e8efef10201caf9e4cfd',1,'op::WPoseSaver']]],
['wposesaver',['WPoseSaver',['../classop_1_1_w_pose_saver.html',1,'op']]],
['wposesaver_2ehpp',['wPoseSaver.hpp',['../w_pose_saver_8hpp.html',1,'']]],
['wposetriangulation',['WPoseTriangulation',['../classop_1_1_w_pose_triangulation.html',1,'op']]],
['wposetriangulation',['WPoseTriangulation',['../classop_1_1_w_pose_triangulation.html#a439c75d19eae34fdd20f2f1c4ee18e48',1,'op::WPoseTriangulation']]],
['wposetriangulation_2ehpp',['wPoseTriangulation.hpp',['../w_pose_triangulation_8hpp.html',1,'']]],
['wqueueassembler',['WQueueAssembler',['../classop_1_1_w_queue_assembler.html',1,'op']]],
['wqueueassembler',['WQueueAssembler',['../classop_1_1_w_queue_assembler.html#a8d73df6a562bd797e16d2bb3ced83b6d',1,'op::WQueueAssembler']]],
['wqueueassembler',['WQueueAssembler',['../classop_1_1_w_queue_assembler.html',1,'op']]],
['wqueueassembler_2ehpp',['wQueueAssembler.hpp',['../w_queue_assembler_8hpp.html',1,'']]],
['wqueueorderer',['WQueueOrderer',['../classop_1_1_w_queue_orderer.html#a3303add5fa8cc36593d3d859ffdd8ae0',1,'op::WQueueOrderer']]],
['wqueueorderer',['WQueueOrderer',['../classop_1_1_w_queue_orderer.html',1,'op']]],
['wqueueorderer',['WQueueOrderer',['../classop_1_1_w_queue_orderer.html#a3303add5fa8cc36593d3d859ffdd8ae0',1,'op::WQueueOrderer']]],
['wqueueorderer_2ehpp',['wQueueOrderer.hpp',['../w_queue_orderer_8hpp.html',1,'']]],
['wrapper',['Wrapper',['../classcl_1_1detail_1_1_wrapper.html#aa1b916a75114fe3217018378d5f1eb71',1,'cl::detail::Wrapper::Wrapper()'],['../classcl_1_1detail_1_1_wrapper.html#a98dce667e0f400f2ba15a8a8d65fdea0',1,'cl::detail::Wrapper::Wrapper(const cl_type &amp;obj, bool retainObject)'],['../classcl_1_1detail_1_1_wrapper.html#af91bafdf8593c34e0d0722cdd93010be',1,'cl::detail::Wrapper::Wrapper(const Wrapper&lt; cl_type &gt; &amp;rhs)'],['../classcl_1_1detail_1_1_wrapper.html#a115618e2baf10ec5c09513394d985ea6',1,'cl::detail::Wrapper::Wrapper(Wrapper&lt; cl_type &gt; &amp;&amp;rhs) CL_HPP_NOEXCEPT_'],['../classcl_1_1detail_1_1_wrapper_3_01cl__device__id_01_4.html#a6881f47b159f53e2efefc3325127bdc5',1,'cl::detail::Wrapper&lt; cl_device_id &gt;::Wrapper()'],['../classcl_1_1detail_1_1_wrapper_3_01cl__device__id_01_4.html#a69a1b6a912ec468216ddfec1f5b6598e',1,'cl::detail::Wrapper&lt; cl_device_id &gt;::Wrapper(const cl_type &amp;obj, bool retainObject)'],['../classcl_1_1detail_1_1_wrapper_3_01cl__device__id_01_4.html#a0abf5113a5123b8de94685ddfa214bd0',1,'cl::detail::Wrapper&lt; cl_device_id &gt;::Wrapper(const Wrapper&lt; cl_type &gt; &amp;rhs)'],['../classcl_1_1detail_1_1_wrapper_3_01cl__device__id_01_4.html#a6a4506b8f3920fb2487b1a5448a6f10c',1,'cl::detail::Wrapper&lt; cl_device_id &gt;::Wrapper(Wrapper&lt; cl_type &gt; &amp;&amp;rhs) CL_HPP_NOEXCEPT_'],['../namespaceop.html#a3434981351c0d4d04eac3b29dfc22fbd',1,'op::Wrapper()']]],
['wrapper',['Wrapper',['../classcl_1_1detail_1_1_wrapper.html',1,'cl::detail']]],
@@ -143,20 +143,20 @@ var searchData=
['wrapper_3c_20cl_5fsampler_20_3e',['Wrapper&lt; cl_sampler &gt;',['../classcl_1_1detail_1_1_wrapper.html',1,'cl::detail']]],
['wrapperauxiliary_2ehpp',['wrapperAuxiliary.hpp',['../wrapper_auxiliary_8hpp.html',1,'']]],
['wrapperconfiguresanitychecks',['wrapperConfigureSanityChecks',['../namespaceop.html#a8d9107e83f9cbc69f195199f0aef4385',1,'op']]],
['wrapperstructextra',['WrapperStructExtra',['../structop_1_1_wrapper_struct_extra.html#a70cdc27c953962810333fafe011f86dd',1,'op::WrapperStructExtra']]],
['wrapperstructextra',['WrapperStructExtra',['../structop_1_1_wrapper_struct_extra.html',1,'op']]],
['wrapperstructextra',['WrapperStructExtra',['../structop_1_1_wrapper_struct_extra.html#a70cdc27c953962810333fafe011f86dd',1,'op::WrapperStructExtra']]],
['wrapperstructextra_2ehpp',['wrapperStructExtra.hpp',['../wrapper_struct_extra_8hpp.html',1,'']]],
['wrapperstructface',['WrapperStructFace',['../structop_1_1_wrapper_struct_face.html',1,'op']]],
['wrapperstructface',['WrapperStructFace',['../structop_1_1_wrapper_struct_face.html#ac60accbce8d798adbc3b8a76e6e4f879',1,'op::WrapperStructFace']]],
['wrapperstructface_2ehpp',['wrapperStructFace.hpp',['../wrapper_struct_face_8hpp.html',1,'']]],
['wrapperstructhand',['WrapperStructHand',['../structop_1_1_wrapper_struct_hand.html',1,'op']]],
['wrapperstructhand',['WrapperStructHand',['../structop_1_1_wrapper_struct_hand.html#aaa42d271c3cb7fa3a071d4785644c0a8',1,'op::WrapperStructHand']]],
['wrapperstructhand',['WrapperStructHand',['../structop_1_1_wrapper_struct_hand.html',1,'op']]],
['wrapperstructhand_2ehpp',['wrapperStructHand.hpp',['../wrapper_struct_hand_8hpp.html',1,'']]],
['wrapperstructinput',['WrapperStructInput',['../structop_1_1_wrapper_struct_input.html',1,'op']]],
['wrapperstructinput',['WrapperStructInput',['../structop_1_1_wrapper_struct_input.html#a529d945c83bb69ac1db7b8db371e6622',1,'op::WrapperStructInput']]],
['wrapperstructinput',['WrapperStructInput',['../structop_1_1_wrapper_struct_input.html',1,'op']]],
['wrapperstructinput_2ehpp',['wrapperStructInput.hpp',['../wrapper_struct_input_8hpp.html',1,'']]],
['wrapperstructoutput',['WrapperStructOutput',['../structop_1_1_wrapper_struct_output.html#a46207e61b143191a6cb79d397af43989',1,'op::WrapperStructOutput']]],
['wrapperstructoutput',['WrapperStructOutput',['../structop_1_1_wrapper_struct_output.html',1,'op']]],
['wrapperstructoutput',['WrapperStructOutput',['../structop_1_1_wrapper_struct_output.html#ae6af809e1b560ca018861ee8221bad21',1,'op::WrapperStructOutput']]],
['wrapperstructoutput_2ehpp',['wrapperStructOutput.hpp',['../wrapper_struct_output_8hpp.html',1,'']]],
['wrapperstructpose',['WrapperStructPose',['../structop_1_1_wrapper_struct_pose.html',1,'op']]],
['wrapperstructpose',['WrapperStructPose',['../structop_1_1_wrapper_struct_pose.html#a5ea7564df25975c4279547acb885376a',1,'op::WrapperStructPose']]],
@@ -167,6 +167,7 @@ var searchData=
['writebvh',['writeBvh',['../structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53',1,'op::WrapperStructOutput']]],
['writecocofootjson',['writeCocoFootJson',['../structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74',1,'op::WrapperStructOutput']]],
['writecocojson',['writeCocoJson',['../structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b',1,'op::WrapperStructOutput']]],
['writecocojsonvariant',['writeCocoJsonVariant',['../structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de',1,'op::WrapperStructOutput']]],
['writeheatmaps',['writeHeatMaps',['../structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc',1,'op::WrapperStructOutput']]],
['writeheatmapsformat',['writeHeatMapsFormat',['../structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056',1,'op::WrapperStructOutput']]],
['writeimages',['writeImages',['../structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85',1,'op::WrapperStructOutput']]],
@@ -184,7 +185,7 @@ var searchData=
['wudpsender',['WUdpSender',['../classop_1_1_w_udp_sender.html',1,'op']]],
['wudpsender',['WUdpSender',['../classop_1_1_w_udp_sender.html#a22a5ec90fe83ed654bd0aef112fac98b',1,'op::WUdpSender']]],
['wudpsender_2ehpp',['wUdpSender.hpp',['../w_udp_sender_8hpp.html',1,'']]],
['wvideosaver',['WVideoSaver',['../classop_1_1_w_video_saver.html',1,'op']]],
['wvideosaver',['WVideoSaver',['../classop_1_1_w_video_saver.html#a04dc4e6f039d047a0da6f94283c145d9',1,'op::WVideoSaver']]],
['wvideosaver',['WVideoSaver',['../classop_1_1_w_video_saver.html',1,'op']]],
['wvideosaver_2ehpp',['wVideoSaver.hpp',['../w_video_saver_8hpp.html',1,'']]]
];
+1 -1
View File
@@ -60,7 +60,7 @@ var searchData=
['coco_5fchallenge',['COCO_CHALLENGE',['../namespaceop.html#a59616e83eefc182f8eb6ae51d6425938',1,'op']]],
['cocojsonformat',['CocoJsonFormat',['../namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac',1,'op']]],
['cocojsonsaver',['CocoJsonSaver',['../classop_1_1_coco_json_saver.html',1,'op']]],
['cocojsonsaver',['CocoJsonSaver',['../classop_1_1_coco_json_saver.html#a0ce96fcd7dfaa2791f514a8363d018ff',1,'op::CocoJsonSaver']]],
['cocojsonsaver',['CocoJsonSaver',['../classop_1_1_coco_json_saver.html#a380d4638d09cfe9c26551cc2efb7c3a8',1,'op::CocoJsonSaver']]],
['cocojsonsaver_2ehpp',['cocoJsonSaver.hpp',['../coco_json_saver_8hpp.html',1,'']]],
['comma',['comma',['../classop_1_1_json_ofstream.html#ae4468279f789c8026d431b2ef62646f9',1,'op::JsonOfstream']]],
['commandqueue',['CommandQueue',['../classcl_1_1_command_queue.html#a8462de408ebfaf6332429a92b7938490',1,'cl::CommandQueue::CommandQueue(cl_command_queue_properties properties, cl_int *err=NULL)'],['../classcl_1_1_command_queue.html#a05ae8e9e44e9b28fc755937490535550',1,'cl::CommandQueue::CommandQueue(QueueProperties properties, cl_int *err=NULL)'],['../classcl_1_1_command_queue.html#adcb116a4e1a53417dad3d3850c33d42f',1,'cl::CommandQueue::CommandQueue(const Context &amp;context, cl_command_queue_properties properties=0, cl_int *err=NULL)'],['../classcl_1_1_command_queue.html#a975c3dce399cb77a5c6b0e294e4778fe',1,'cl::CommandQueue::CommandQueue(const Context &amp;context, QueueProperties properties, cl_int *err=NULL)'],['../classcl_1_1_command_queue.html#a887826e515b03224aec87b33ac59f327',1,'cl::CommandQueue::CommandQueue(const Context &amp;context, const Device &amp;device, cl_command_queue_properties properties=0, cl_int *err=NULL)'],['../classcl_1_1_command_queue.html#a8dd467bd94839921b7318cb30f92b5a4',1,'cl::CommandQueue::CommandQueue(const Context &amp;context, const Device &amp;device, QueueProperties properties, cl_int *err=NULL)'],['../classcl_1_1_command_queue.html#ab1beb7ab6e619a4e050d87c70bb001a6',1,'cl::CommandQueue::CommandQueue()'],['../classcl_1_1_command_queue.html#a09be675998c51f36aa7744b47eabebd3',1,'cl::CommandQueue::CommandQueue(const cl_command_queue &amp;commandQueue, bool retainObject=false)'],['../classcl_1_1_command_queue.html#ae2ce434c5100e5b467ea8c6561e1f11e',1,'cl::CommandQueue::CommandQueue(const CommandQueue &amp;queue)'],['../classcl_1_1_command_queue.html#a1c5830678be567e34dccbb0065c89b21',1,'cl::CommandQueue::CommandQueue(CommandQueue &amp;&amp;queue) CL_HPP_NOEXCEPT_']]],
+5 -5
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -51,7 +51,7 @@ var searchData=
['wrapperstructface',['WrapperStructFace',['../structop_1_1_wrapper_struct_face.html#ac60accbce8d798adbc3b8a76e6e4f879',1,'op::WrapperStructFace']]],
['wrapperstructhand',['WrapperStructHand',['../structop_1_1_wrapper_struct_hand.html#aaa42d271c3cb7fa3a071d4785644c0a8',1,'op::WrapperStructHand']]],
['wrapperstructinput',['WrapperStructInput',['../structop_1_1_wrapper_struct_input.html#a529d945c83bb69ac1db7b8db371e6622',1,'op::WrapperStructInput']]],
['wrapperstructoutput',['WrapperStructOutput',['../structop_1_1_wrapper_struct_output.html#a46207e61b143191a6cb79d397af43989',1,'op::WrapperStructOutput']]],
['wrapperstructoutput',['WrapperStructOutput',['../structop_1_1_wrapper_struct_output.html#ae6af809e1b560ca018861ee8221bad21',1,'op::WrapperStructOutput']]],
['wrapperstructpose',['WrapperStructPose',['../structop_1_1_wrapper_struct_pose.html#a5ea7564df25975c4279547acb885376a',1,'op::WrapperStructPose']]],
['wrappert',['WrapperT',['../classop_1_1_wrapper_t.html#af1a56f0542a2cbcc11d6b185adeb5626',1,'op::WrapperT']]],
['write',['write',['../classop_1_1_video_saver.html#a7c79397b9be8b6d6d12b9f3e78e6c794',1,'op::VideoSaver::write(const cv::Mat &amp;cvMat)'],['../classop_1_1_video_saver.html#a3cdbef8bada237edffaf7793eaa0fe8e',1,'op::VideoSaver::write(const std::vector&lt; cv::Mat &gt; &amp;cvMats)']]],
+1 -1
View File
@@ -17,7 +17,7 @@ var searchData=
['checkthread',['checkThread',['../classop_1_1_pose_extractor_net.html#a073db5b9847c8afbc10ce534ea533a84',1,'op::PoseExtractorNet']]],
['clear',['clear',['../classop_1_1_pose_extractor_net.html#a3fe7256d9860f4c624f5cf928556bc28',1,'op::PoseExtractorNet::clear()'],['../classop_1_1_queue_base.html#a247f435c95709f3246d352eee4f757af',1,'op::QueueBase::clear()']]],
['clone',['clone',['../classop_1_1_array.html#af42f4570122d1b8259c211f52335909b',1,'op::Array::clone()'],['../structop_1_1_datum.html#a847f62b3060c5d0d106e60c29df87a0b',1,'op::Datum::clone()']]],
['cocojsonsaver',['CocoJsonSaver',['../classop_1_1_coco_json_saver.html#a0ce96fcd7dfaa2791f514a8363d018ff',1,'op::CocoJsonSaver']]],
['cocojsonsaver',['CocoJsonSaver',['../classop_1_1_coco_json_saver.html#a380d4638d09cfe9c26551cc2efb7c3a8',1,'op::CocoJsonSaver']]],
['comma',['comma',['../classop_1_1_json_ofstream.html#ae4468279f789c8026d431b2ef62646f9',1,'op::JsonOfstream']]],
['commandqueue',['CommandQueue',['../classcl_1_1_command_queue.html#a8462de408ebfaf6332429a92b7938490',1,'cl::CommandQueue::CommandQueue(cl_command_queue_properties properties, cl_int *err=NULL)'],['../classcl_1_1_command_queue.html#a05ae8e9e44e9b28fc755937490535550',1,'cl::CommandQueue::CommandQueue(QueueProperties properties, cl_int *err=NULL)'],['../classcl_1_1_command_queue.html#adcb116a4e1a53417dad3d3850c33d42f',1,'cl::CommandQueue::CommandQueue(const Context &amp;context, cl_command_queue_properties properties=0, cl_int *err=NULL)'],['../classcl_1_1_command_queue.html#a975c3dce399cb77a5c6b0e294e4778fe',1,'cl::CommandQueue::CommandQueue(const Context &amp;context, QueueProperties properties, cl_int *err=NULL)'],['../classcl_1_1_command_queue.html#a887826e515b03224aec87b33ac59f327',1,'cl::CommandQueue::CommandQueue(const Context &amp;context, const Device &amp;device, cl_command_queue_properties properties=0, cl_int *err=NULL)'],['../classcl_1_1_command_queue.html#a8dd467bd94839921b7318cb30f92b5a4',1,'cl::CommandQueue::CommandQueue(const Context &amp;context, const Device &amp;device, QueueProperties properties, cl_int *err=NULL)'],['../classcl_1_1_command_queue.html#ab1beb7ab6e619a4e050d87c70bb001a6',1,'cl::CommandQueue::CommandQueue()'],['../classcl_1_1_command_queue.html#a09be675998c51f36aa7744b47eabebd3',1,'cl::CommandQueue::CommandQueue(const cl_command_queue &amp;commandQueue, bool retainObject=false)'],['../classcl_1_1_command_queue.html#ae2ce434c5100e5b467ea8c6561e1f11e',1,'cl::CommandQueue::CommandQueue(const CommandQueue &amp;queue)'],['../classcl_1_1_command_queue.html#a1c5830678be567e34dccbb0065c89b21',1,'cl::CommandQueue::CommandQueue(CommandQueue &amp;&amp;queue) CL_HPP_NOEXCEPT_']]],
['compile',['compile',['../classcl_1_1_program.html#a8da346ecc73cf9df257690815039ddb5',1,'cl::Program']]],
File diff suppressed because one or more lines are too long
+1
View File
@@ -5,6 +5,7 @@ var searchData=
['writebvh',['writeBvh',['../structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53',1,'op::WrapperStructOutput']]],
['writecocofootjson',['writeCocoFootJson',['../structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74',1,'op::WrapperStructOutput']]],
['writecocojson',['writeCocoJson',['../structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b',1,'op::WrapperStructOutput']]],
['writecocojsonvariant',['writeCocoJsonVariant',['../structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de',1,'op::WrapperStructOutput']]],
['writeheatmaps',['writeHeatMaps',['../structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc',1,'op::WrapperStructOutput']]],
['writeheatmapsformat',['writeHeatMapsFormat',['../structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056',1,'op::WrapperStructOutput']]],
['writeimages',['writeImages',['../structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85',1,'op::WrapperStructOutput']]],
+6 -6
View File
@@ -709,7 +709,7 @@ Public Attributes</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Rendered image in cv::Mat uchar format. It has been resized to the desired output resolution (e.g. <code>resolution</code> flag in the demo). If outputData is empty, cvOutputData will also be empty. Size: (output_height x output_width) x 3 channels </p>
<p>Rendered image in cv::Mat uchar format. It has been resized to the desired output resolution (e.g., <code>resolution</code> flag in the demo). If outputData is empty, cvOutputData will also be empty. Size: (output_height x output_width) x 3 channels </p>
</div>
</div>
@@ -902,7 +902,7 @@ Public Attributes</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Name used when saving the data to disk (e.g. <code>write_images</code> or <code>write_keypoint</code> flags in the demo). </p>
<p>Name used when saving the data to disk (e.g., <code>write_images</code> or <code>write_keypoint</code> flags in the demo). </p>
</div>
</div>
@@ -941,7 +941,7 @@ Public Attributes</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Rendered image in <a class="el" href="classop_1_1_array.html">Array&lt;float&gt;</a> format. It consists of a blending of the cvInputData and the pose/body part(s) heatmap/PAF(s). If rendering is disabled (e.g. <code>no_render_pose</code> flag in the demo), outputData will be empty. Size: 3 x output_net_height x output_net_width </p>
<p>Rendered image in <a class="el" href="classop_1_1_array.html">Array&lt;float&gt;</a> format. It consists of a blending of the cvInputData and the pose/body part(s) heatmap/PAF(s). If rendering is disabled (e.g., <code>no_render_pose</code> flag in the demo), outputData will be empty. Size: 3 x output_net_height x output_net_width </p>
</div>
</div>
@@ -993,7 +993,7 @@ Public Attributes</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Body pose (x,y,score) locations for each person in the image. It has been resized to the desired output resolution (e.g. <code>resolution</code> flag in the demo). Size: #people x #body parts (e.g. 18 for COCO or 15 for MPI) x 3 ((x,y) coordinates + score) </p>
<p>Body pose (x,y,score) locations for each person in the image. It has been resized to the desired output resolution (e.g., <code>resolution</code> flag in the demo). Size: #people x #body parts (e.g., 18 for COCO or 15 for MPI) x 3 ((x,y) coordinates + score) </p>
</div>
</div>
@@ -1006,7 +1006,7 @@ Public Attributes</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Body pose (x,y,z,score) locations for each person in the image. Size: #people x #body parts (e.g. 18 for COCO or 15 for MPI) x 4 ((x,y,z) coordinates + score) </p>
<p>Body pose (x,y,z,score) locations for each person in the image. Size: #people x #body parts (e.g., 18 for COCO or 15 for MPI) x 4 ((x,y,z) coordinates + score) </p>
</div>
</div>
@@ -1019,7 +1019,7 @@ Public Attributes</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Body pose global confidence/score for each person in the image. It does not only consider the score of each body keypoint, but also the score of each PAF association. Optimized for COCO evaluation metric. It will highly penalyze people with missing body parts (e.g. cropped people on the borders of the image). If poseKeypoints is empty, poseScores will also be empty. Size: #people </p>
<p>Body pose global confidence/score for each person in the image. It does not only consider the score of each body keypoint, but also the score of each PAF association. Optimized for COCO evaluation metric. It will highly penalyze people with missing body parts (e.g., cropped people on the borders of the image). If poseKeypoints is empty, poseScores will also be empty. Size: #people </p>
</div>
</div>
+1 -1
View File
@@ -302,7 +302,7 @@ Public Attributes</h2></td></tr>
</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>
<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>
+1 -1
View File
@@ -342,7 +342,7 @@ Public Attributes</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Whether to re-open the producer if it reaches the end (e.g. video or image directory after the last frame). </p>
<p>Whether to re-open the producer if it reaches the end (e.g., video or image directory after the last frame). </p>
</div>
</div>
@@ -117,20 +117,21 @@ $(document).ready(function(){initNavTree('structop_1_1_wrapper_struct_output.htm
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#ac72ad601daf957b9b000206e9f1fe0ad">guiVerbose</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117">udpHost</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c">udpPort</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a46207e61b143191a6cb79d397af43989">WrapperStructOutput</a>(const DisplayMode displayMode=DisplayMode::NoDisplay, const bool guiVerbose=false, const bool fullScreen=false, const std::string &amp;writeKeypoint=&quot;&quot;, const DataFormat writeKeypointFormat=DataFormat::Xml, const std::string &amp;writeJson=&quot;&quot;, const std::string &amp;writeCocoJson=&quot;&quot;, const std::string &amp;writeCocoFootJson=&quot;&quot;, const std::string &amp;writeImages=&quot;&quot;, const std::string &amp;writeImagesFormat=&quot;&quot;, const std::string &amp;writeVideo=&quot;&quot;, const double writeVideoFps=30., const std::string &amp;writeHeatMaps=&quot;&quot;, const std::string &amp;writeHeatMapsFormat=&quot;&quot;, const std::string &amp;writeVideoAdam=&quot;&quot;, const std::string &amp;writeBvh=&quot;&quot;, const std::string &amp;udpHost=&quot;&quot;, const std::string &amp;udpPort=&quot;&quot;)</td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#ae6af809e1b560ca018861ee8221bad21">WrapperStructOutput</a>(const DisplayMode displayMode=DisplayMode::NoDisplay, const bool guiVerbose=false, const bool fullScreen=false, const std::string &amp;writeKeypoint=&quot;&quot;, const DataFormat writeKeypointFormat=DataFormat::Xml, const std::string &amp;writeJson=&quot;&quot;, const std::string &amp;writeCocoJson=&quot;&quot;, const std::string &amp;writeCocoFootJson=&quot;&quot;, const int writeCocoJsonVariant=1, const std::string &amp;writeImages=&quot;&quot;, const std::string &amp;writeImagesFormat=&quot;&quot;, const std::string &amp;writeVideo=&quot;&quot;, const double writeVideoFps=30., const std::string &amp;writeHeatMaps=&quot;&quot;, const std::string &amp;writeHeatMapsFormat=&quot;&quot;, const std::string &amp;writeVideoAdam=&quot;&quot;, const std::string &amp;writeBvh=&quot;&quot;, const std::string &amp;udpHost=&quot;&quot;, const std::string &amp;udpPort=&quot;&quot;)</td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">writeBvh</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74">writeCocoFootJson</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b">writeCocoJson</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc">writeHeatMaps</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056">writeHeatMapsFormat</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85">writeImages</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">writeImagesFormat</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a8a2f29bae4ff55195b10a83717a0f738">writeJson</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#ad9ca696781cb7c250752f078f5c937fc">writeKeypoint</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#ad338fd4719d6f243bb64bc67f68bc7c9">writeKeypointFormat</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">writeVideo</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6">writeVideoAdam</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">writeVideoFps</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de">writeCocoJsonVariant</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc">writeHeatMaps</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056">writeHeatMapsFormat</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85">writeImages</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">writeImagesFormat</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a8a2f29bae4ff55195b10a83717a0f738">writeJson</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#ad9ca696781cb7c250752f078f5c937fc">writeKeypoint</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#ad338fd4719d6f243bb64bc67f68bc7c9">writeKeypointFormat</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">writeVideo</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6">writeVideoAdam</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">writeVideoFps</a></td><td class="entry"><a class="el" href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
+25 -4
View File
@@ -118,8 +118,8 @@ $(document).ready(function(){initNavTree('structop_1_1_wrapper_struct_output.htm
<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:a46207e61b143191a6cb79d397af43989"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_output.html#a46207e61b143191a6cb79d397af43989">WrapperStructOutput</a> (const <a class="el" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6">DisplayMode</a> <a class="el" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a>=<a class="el" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a28b652e57d2da6b7c939166be21efd9a">DisplayMode::NoDisplay</a>, const bool <a class="el" href="structop_1_1_wrapper_struct_output.html#ac72ad601daf957b9b000206e9f1fe0ad">guiVerbose</a>=false, const bool <a class="el" href="structop_1_1_wrapper_struct_output.html#aaf5df884418d2bf1df36505009264ece">fullScreen</a>=false, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#ad9ca696781cb7c250752f078f5c937fc">writeKeypoint</a>=&quot;&quot;, const <a class="el" href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7e">DataFormat</a> <a class="el" href="structop_1_1_wrapper_struct_output.html#ad338fd4719d6f243bb64bc67f68bc7c9">writeKeypointFormat</a>=<a class="el" href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7ea9ec8e4e3ab4c7eeba097f27d7364d743">DataFormat::Xml</a>, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a8a2f29bae4ff55195b10a83717a0f738">writeJson</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b">writeCocoJson</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74">writeCocoFootJson</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85">writeImages</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">writeImagesFormat</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">writeVideo</a>=&quot;&quot;, const double <a class="el" href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">writeVideoFps</a>=30., const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc">writeHeatMaps</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056">writeHeatMapsFormat</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6">writeVideoAdam</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">writeBvh</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117">udpHost</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c">udpPort</a>=&quot;&quot;)</td></tr>
<tr class="separator:a46207e61b143191a6cb79d397af43989"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6af809e1b560ca018861ee8221bad21"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_output.html#ae6af809e1b560ca018861ee8221bad21">WrapperStructOutput</a> (const <a class="el" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6">DisplayMode</a> <a class="el" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a>=<a class="el" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a28b652e57d2da6b7c939166be21efd9a">DisplayMode::NoDisplay</a>, const bool <a class="el" href="structop_1_1_wrapper_struct_output.html#ac72ad601daf957b9b000206e9f1fe0ad">guiVerbose</a>=false, const bool <a class="el" href="structop_1_1_wrapper_struct_output.html#aaf5df884418d2bf1df36505009264ece">fullScreen</a>=false, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#ad9ca696781cb7c250752f078f5c937fc">writeKeypoint</a>=&quot;&quot;, const <a class="el" href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7e">DataFormat</a> <a class="el" href="structop_1_1_wrapper_struct_output.html#ad338fd4719d6f243bb64bc67f68bc7c9">writeKeypointFormat</a>=<a class="el" href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7ea9ec8e4e3ab4c7eeba097f27d7364d743">DataFormat::Xml</a>, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a8a2f29bae4ff55195b10a83717a0f738">writeJson</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b">writeCocoJson</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74">writeCocoFootJson</a>=&quot;&quot;, const int <a class="el" href="structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de">writeCocoJsonVariant</a>=1, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85">writeImages</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">writeImagesFormat</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">writeVideo</a>=&quot;&quot;, const double <a class="el" href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">writeVideoFps</a>=30., const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc">writeHeatMaps</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056">writeHeatMapsFormat</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6">writeVideoAdam</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">writeBvh</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117">udpHost</a>=&quot;&quot;, const std::string &amp;<a class="el" href="structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c">udpPort</a>=&quot;&quot;)</td></tr>
<tr class="separator:ae6af809e1b560ca018861ee8221bad21"><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>
@@ -139,6 +139,8 @@ Public Attributes</h2></td></tr>
<tr class="separator:a6efbd77da8ebcea3abc4109bb2f39c0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaadbe4f8f765a751973ed1b405843c74"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74">writeCocoFootJson</a></td></tr>
<tr class="separator:aaadbe4f8f765a751973ed1b405843c74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0119bb7429483928c587ffaf607919de"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de">writeCocoJsonVariant</a></td></tr>
<tr class="separator:a0119bb7429483928c587ffaf607919de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f56c15d410645442b5ac21c316b9c85"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85">writeImages</a></td></tr>
<tr class="separator:a5f56c15d410645442b5ac21c316b9c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba2aed26f1d01771a0c896bc50e477a5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">writeImagesFormat</a></td></tr>
@@ -163,7 +165,7 @@ Public Attributes</h2></td></tr>
<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_output.html">WrapperStructOutput</a>: Output (small GUI, writing rendered results and/or pose data, etc.) configuration struct. <a class="el" href="structop_1_1_wrapper_struct_output.html">WrapperStructOutput</a> allows the user to set up the input frames generator. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a46207e61b143191a6cb79d397af43989"></a>
<a class="anchor" id="ae6af809e1b560ca018861ee8221bad21"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -215,6 +217,12 @@ Public Attributes</h2></td></tr>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>writeCocoFootJson</em> = <code>&quot;&quot;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>writeCocoJsonVariant</em> = <code>1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
@@ -389,6 +397,19 @@ Public Attributes</h2></td></tr>
</div><div class="memdoc">
<p>Pose (x, y, score) locations saving folder location in JSON COCO validation format. If it is empty (default), it is disabled. </p>
</div>
</div>
<a class="anchor" id="a0119bb7429483928c587ffaf607919de"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int op::WrapperStructOutput::writeCocoJsonVariant</td>
</tr>
</table>
</div><div class="memdoc">
<p>Experimental option (only makes effect on car JSON generation). It selects the COCO variant for cocoJsonSaver. </p>
</div>
</div>
<a class="anchor" id="adca0d08aa43e2280ca06a8db0deb81bc"></a>
@@ -439,7 +460,7 @@ Public Attributes</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Rendered image saving folder format. Check your OpenCV version documentation for a list of compatible formats. E.g. png, jpg, etc. If writeImages is empty (default), it makes no effect. </p>
<p>Rendered image saving folder format. Check your OpenCV version documentation for a list of compatible formats. E.g., png, jpg, etc. If writeImages is empty (default), it makes no effect. </p>
</div>
</div>
+2 -1
View File
@@ -1,6 +1,6 @@
var structop_1_1_wrapper_struct_output =
[
[ "WrapperStructOutput", "structop_1_1_wrapper_struct_output.html#a46207e61b143191a6cb79d397af43989", null ],
[ "WrapperStructOutput", "structop_1_1_wrapper_struct_output.html#ae6af809e1b560ca018861ee8221bad21", null ],
[ "displayMode", "structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817", null ],
[ "fullScreen", "structop_1_1_wrapper_struct_output.html#aaf5df884418d2bf1df36505009264ece", null ],
[ "guiVerbose", "structop_1_1_wrapper_struct_output.html#ac72ad601daf957b9b000206e9f1fe0ad", null ],
@@ -9,6 +9,7 @@ var structop_1_1_wrapper_struct_output =
[ "writeBvh", "structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53", null ],
[ "writeCocoFootJson", "structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74", null ],
[ "writeCocoJson", "structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b", null ],
[ "writeCocoJsonVariant", "structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de", null ],
[ "writeHeatMaps", "structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc", null ],
[ "writeHeatMapsFormat", "structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056", null ],
[ "writeImages", "structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85", null ],
+47 -46
View File
@@ -136,62 +136,63 @@ $(document).ready(function(){initNavTree('worker_8hpp_source.html','');});
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; mIsRunning = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; }</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="comment">// Virtual in case some function needs spetial stopping (e.g. buffers might not stop inmediately and need a few iterations)</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="classop_1_1_worker.html#ad689b232d68f3b3e0b41f9e219b01134"> 31</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classop_1_1_worker.html#ad689b232d68f3b3e0b41f9e219b01134">tryStop</a>()</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; {</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classop_1_1_worker.html#ae45ac828f6e8f6055203c224e50f145b">stop</a>();</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; }</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classop_1_1_worker.html#a9acadd6df7af03b31b9e354ae815f781">work</a>(TDatums&amp; tDatums) = 0;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordtype">bool</span> mIsRunning;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; DELETE_COPY(<a class="code" href="classop_1_1_worker.html">Worker</a>);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; };</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;}</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="comment">// Virtual in case some function needs spetial stopping (e.g., buffers might not stop inmediately and need a</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="comment">// few iterations)</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classop_1_1_worker.html#ad689b232d68f3b3e0b41f9e219b01134"> 32</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classop_1_1_worker.html#ad689b232d68f3b3e0b41f9e219b01134">tryStop</a>()</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="classop_1_1_worker.html#ae45ac828f6e8f6055203c224e50f145b">stop</a>();</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; }</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classop_1_1_worker.html#a9acadd6df7af03b31b9e354ae815f781">work</a>(TDatums&amp; tDatums) = 0;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordtype">bool</span> mIsRunning;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; DELETE_COPY(<a class="code" href="classop_1_1_worker.html">Worker</a>);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; };</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment">// Implementation</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">namespace </span>op</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;{</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> TDatums&gt;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classop_1_1_worker.html#a5008fc4ef4e41366ba0022f5cd79edba"> 54</a></span>&#160; <a class="code" href="classop_1_1_worker.html#a5008fc4ef4e41366ba0022f5cd79edba">Worker&lt;TDatums&gt;::Worker</a>() :</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; mIsRunning{<span class="keyword">true</span>}</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; {</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> TDatums&gt;</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classop_1_1_worker.html#a6ebe180098e00ac062a1bb31d462df60"> 60</a></span>&#160; <a class="code" href="classop_1_1_worker.html#a6ebe180098e00ac062a1bb31d462df60">Worker&lt;TDatums&gt;::~Worker</a>()</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> TDatums&gt;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classop_1_1_worker.html#a6e4e84bd2052919bc48df1ec4b913ecf"> 65</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classop_1_1_worker.html#a6e4e84bd2052919bc48df1ec4b913ecf">Worker&lt;TDatums&gt;::checkAndWork</a>(TDatums&amp; tDatums)</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span> (mIsRunning)</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; work(tDatums);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> mIsRunning;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="namespaceop.html#a53f346232d0743f3dd0f547de1fc508f">COMPILE_TEMPLATE_DATUM</a>(<a class="code" href="classop_1_1_worker.html">Worker</a>);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;}</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#endif // OPENPOSE_THREAD_WORKER_HPP</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment">// Implementation</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword">namespace </span>op</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;{</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> TDatums&gt;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classop_1_1_worker.html#a5008fc4ef4e41366ba0022f5cd79edba"> 55</a></span>&#160; <a class="code" href="classop_1_1_worker.html#a5008fc4ef4e41366ba0022f5cd79edba">Worker&lt;TDatums&gt;::Worker</a>() :</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; mIsRunning{<span class="keyword">true</span>}</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> TDatums&gt;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classop_1_1_worker.html#a6ebe180098e00ac062a1bb31d462df60"> 61</a></span>&#160; <a class="code" href="classop_1_1_worker.html#a6ebe180098e00ac062a1bb31d462df60">Worker&lt;TDatums&gt;::~Worker</a>()</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> TDatums&gt;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classop_1_1_worker.html#a6e4e84bd2052919bc48df1ec4b913ecf"> 66</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classop_1_1_worker.html#a6e4e84bd2052919bc48df1ec4b913ecf">Worker&lt;TDatums&gt;::checkAndWork</a>(TDatums&amp; tDatums)</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">if</span> (mIsRunning)</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; work(tDatums);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> mIsRunning;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="namespaceop.html#a53f346232d0743f3dd0f547de1fc508f">COMPILE_TEMPLATE_DATUM</a>(<a class="code" href="classop_1_1_worker.html">Worker</a>);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor">#endif // OPENPOSE_THREAD_WORKER_HPP</span></div>
<div class="ttc" id="classop_1_1_worker_html"><div class="ttname"><a href="classop_1_1_worker.html">op::Worker</a></div><div class="ttdef"><b>Definition:</b> worker.hpp:9</div></div>
<div class="ttc" id="classop_1_1_worker_html_a6ebe180098e00ac062a1bb31d462df60"><div class="ttname"><a href="classop_1_1_worker.html#a6ebe180098e00ac062a1bb31d462df60">op::Worker::~Worker</a></div><div class="ttdeci">virtual ~Worker()</div><div class="ttdef"><b>Definition:</b> worker.hpp:60</div></div>
<div class="ttc" id="classop_1_1_worker_html_a6ebe180098e00ac062a1bb31d462df60"><div class="ttname"><a href="classop_1_1_worker.html#a6ebe180098e00ac062a1bb31d462df60">op::Worker::~Worker</a></div><div class="ttdeci">virtual ~Worker()</div><div class="ttdef"><b>Definition:</b> worker.hpp:61</div></div>
<div class="ttc" id="common_8hpp_html"><div class="ttname"><a href="common_8hpp.html">common.hpp</a></div></div>
<div class="ttc" id="classop_1_1_worker_html_a5008fc4ef4e41366ba0022f5cd79edba"><div class="ttname"><a href="classop_1_1_worker.html#a5008fc4ef4e41366ba0022f5cd79edba">op::Worker::Worker</a></div><div class="ttdeci">Worker()</div><div class="ttdef"><b>Definition:</b> worker.hpp:54</div></div>
<div class="ttc" id="classop_1_1_worker_html_ad689b232d68f3b3e0b41f9e219b01134"><div class="ttname"><a href="classop_1_1_worker.html#ad689b232d68f3b3e0b41f9e219b01134">op::Worker::tryStop</a></div><div class="ttdeci">virtual void tryStop()</div><div class="ttdef"><b>Definition:</b> worker.hpp:31</div></div>
<div class="ttc" id="classop_1_1_worker_html_a5008fc4ef4e41366ba0022f5cd79edba"><div class="ttname"><a href="classop_1_1_worker.html#a5008fc4ef4e41366ba0022f5cd79edba">op::Worker::Worker</a></div><div class="ttdeci">Worker()</div><div class="ttdef"><b>Definition:</b> worker.hpp:55</div></div>
<div class="ttc" id="classop_1_1_worker_html_ad689b232d68f3b3e0b41f9e219b01134"><div class="ttname"><a href="classop_1_1_worker.html#ad689b232d68f3b3e0b41f9e219b01134">op::Worker::tryStop</a></div><div class="ttdeci">virtual void tryStop()</div><div class="ttdef"><b>Definition:</b> worker.hpp:32</div></div>
<div class="ttc" id="classop_1_1_worker_html_a3f7c86ab1c4ce15c0f0ef12a1d4647e0"><div class="ttname"><a href="classop_1_1_worker.html#a3f7c86ab1c4ce15c0f0ef12a1d4647e0">op::Worker::isRunning</a></div><div class="ttdeci">bool isRunning() const </div><div class="ttdef"><b>Definition:</b> worker.hpp:20</div></div>
<div class="ttc" id="classop_1_1_worker_html_aa5be4df9d4d8302728c653870e7d2a23"><div class="ttname"><a href="classop_1_1_worker.html#aa5be4df9d4d8302728c653870e7d2a23">op::Worker::initializationOnThread</a></div><div class="ttdeci">virtual void initializationOnThread()=0</div></div>
<div class="ttc" id="classop_1_1_worker_html_a9acadd6df7af03b31b9e354ae815f781"><div class="ttname"><a href="classop_1_1_worker.html#a9acadd6df7af03b31b9e354ae815f781">op::Worker::work</a></div><div class="ttdeci">virtual void work(TDatums &amp;tDatums)=0</div></div>
<div class="ttc" id="namespaceop_html_a53f346232d0743f3dd0f547de1fc508f"><div class="ttname"><a href="namespaceop.html#a53f346232d0743f3dd0f547de1fc508f">op::COMPILE_TEMPLATE_DATUM</a></div><div class="ttdeci">COMPILE_TEMPLATE_DATUM(WPoseTriangulation)</div></div>
<div class="ttc" id="classop_1_1_worker_html_a6e4e84bd2052919bc48df1ec4b913ecf"><div class="ttname"><a href="classop_1_1_worker.html#a6e4e84bd2052919bc48df1ec4b913ecf">op::Worker::checkAndWork</a></div><div class="ttdeci">bool checkAndWork(TDatums &amp;tDatums)</div><div class="ttdef"><b>Definition:</b> worker.hpp:65</div></div>
<div class="ttc" id="classop_1_1_worker_html_a6e4e84bd2052919bc48df1ec4b913ecf"><div class="ttname"><a href="classop_1_1_worker.html#a6e4e84bd2052919bc48df1ec4b913ecf">op::Worker::checkAndWork</a></div><div class="ttdeci">bool checkAndWork(TDatums &amp;tDatums)</div><div class="ttdef"><b>Definition:</b> worker.hpp:66</div></div>
<div class="ttc" id="classop_1_1_worker_html_ae45ac828f6e8f6055203c224e50f145b"><div class="ttname"><a href="classop_1_1_worker.html#ae45ac828f6e8f6055203c224e50f145b">op::Worker::stop</a></div><div class="ttdeci">void stop()</div><div class="ttdef"><b>Definition:</b> worker.hpp:25</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
+372 -370
View File
@@ -609,7 +609,7 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; poseTriangulation)};</div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; }</div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="comment">// Itermediate workers (e.g. OpenPose format to cv::Mat, json &amp; frames recorder, ...)</span></div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="comment">// Itermediate workers (e.g., OpenPose format to cv::Mat, json &amp; frames recorder, ...)</span></div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; postProcessingWs.clear();</div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="comment">// // Person ID identification (when no multi-thread and no dependency on tracking)</span></div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="comment">// if (wrapperStructExtra.identification)</span></div>
@@ -699,374 +699,376 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b">writeCocoJson</a>, humanFormat,</div>
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; (wrapperStructPose.poseModel != <a class="code" href="namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa372b9885bba8bc32ad323fffcf99e39e">PoseModel::CAR_22</a></div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; &amp;&amp; wrapperStructPose.poseModel != <a class="code" href="namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa66ae79a5ac5fa502ae8bbecd3e07e71c">PoseModel::CAR_12</a></div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; ? <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8">CocoJsonFormat::Body</a> : <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acae9989db5dabeea617f40c8dbfd07f5fb">CocoJsonFormat::Car</a>));</div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; outputWs.emplace_back(std::make_shared&lt;<a class="code" href="classop_1_1_w_coco_json_saver.html">WCocoJsonSaver&lt;TDatumsSP&gt;</a>&gt;(cocoJsonSaver));</div>
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; }</div>
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="comment">// Write people foot pose data on disk (COCO validation json format for foot data)</span></div>
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordflow">if</span> (!wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74">writeCocoFootJson</a>.empty())</div>
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; {</div>
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="comment">// If humanFormat: bigger size (&amp; maybe slower to process), but easier for user to read it</span></div>
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> humanFormat = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> cocoJsonSaver = std::make_shared&lt;CocoJsonSaver&gt;(wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74">writeCocoFootJson</a>,</div>
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; humanFormat, <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715aca129e74dde7b475c8848310e16754c965">CocoJsonFormat::Foot</a>);</div>
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; outputWs.emplace_back(std::make_shared&lt;<a class="code" href="classop_1_1_w_coco_json_saver.html">WCocoJsonSaver&lt;TDatumsSP&gt;</a>&gt;(cocoJsonSaver));</div>
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; }</div>
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="comment">// Write frames as desired image format on hard disk</span></div>
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="keywordflow">if</span> (!writeImagesCleaned.empty())</div>
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; {</div>
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> imageSaver = std::make_shared&lt;ImageSaver&gt;(writeImagesCleaned,</div>
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">writeImagesFormat</a>);</div>
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; outputWs.emplace_back(std::make_shared&lt;<a class="code" href="classop_1_1_w_image_saver.html">WImageSaver&lt;TDatumsSP&gt;</a>&gt;(imageSaver));</div>
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; }</div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="comment">// Write frames as *.avi video on hard disk</span></div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> producerFps = (producerSharedPtr == <span class="keyword">nullptr</span> ?</div>
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; 0. : producerSharedPtr-&gt;get(CV_CAP_PROP_FPS));</div>
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> originalVideoFps = (wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">writeVideoFps</a> &gt; 0 ?</div>
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">writeVideoFps</a></div>
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; : producerFps);</div>
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">if</span> (!wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">writeVideo</a>.empty())</div>
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div>
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">if</span> (!oPProducer)</div>
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(<span class="stringliteral">&quot;Video file can only be recorded inside `wrapper/wrapper.hpp` if the producer&quot;</span></div>
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="stringliteral">&quot; is one of the default ones (e.g. video, webcam, ...).&quot;</span>,</div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">if</span> (finalOutputSize.x &lt;= 0 || finalOutputSize.y &lt;= 0)</div>
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(<span class="stringliteral">&quot;Video can only be recorded if outputSize is fixed (e.g. video, webcam, IP camera),&quot;</span></div>
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="stringliteral">&quot;but not for a image directory.&quot;</span>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> videoSaver = std::make_shared&lt;VideoSaver&gt;(</div>
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">writeVideo</a>, CV_FOURCC(<span class="charliteral">&#39;M&#39;</span>,<span class="charliteral">&#39;J&#39;</span>,<span class="charliteral">&#39;P&#39;</span>,<span class="charliteral">&#39;G&#39;</span>), originalVideoFps, finalOutputSize</div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; );</div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; outputWs.emplace_back(std::make_shared&lt;<a class="code" href="classop_1_1_w_video_saver.html">WVideoSaver&lt;TDatumsSP&gt;</a>&gt;(videoSaver));</div>
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; }</div>
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="comment">// Write joint angles as *.bvh file on hard disk</span></div>
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160;<span class="preprocessor">#ifdef USE_3D_ADAM_MODEL</span></div>
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (!wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">writeBvh</a>.empty())</div>
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; {</div>
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> bvhSaver = std::make_shared&lt;BvhSaver&gt;(</div>
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">writeBvh</a>, JointAngleEstimation::getTotalModel(), originalVideoFps</div>
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; );</div>
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; outputWs.emplace_back(std::make_shared&lt;WBvhSaver&lt;TDatumsSP&gt;&gt;(bvhSaver));</div>
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; }</div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;<span class="preprocessor"></span> <span class="comment">// Write heat maps as desired image format on hard disk</span></div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">if</span> (!writeHeatMapsCleaned.empty())</div>
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; {</div>
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> heatMapSaver = std::make_shared&lt;HeatMapSaver&gt;(writeHeatMapsCleaned,</div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056">writeHeatMapsFormat</a>);</div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; outputWs.emplace_back(std::make_shared&lt;<a class="code" href="classop_1_1_w_heat_map_saver.html">WHeatMapSaver&lt;TDatumsSP&gt;</a>&gt;(heatMapSaver));</div>
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; }</div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="comment">// Add frame information for GUI</span></div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> guiEnabled = (wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a> != <a class="code" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a28b652e57d2da6b7c939166be21efd9a">DisplayMode::NoDisplay</a>);</div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="comment">// If this WGuiInfoAdder instance is placed before the WImageSaver or WVideoSaver, then the resulting</span></div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="comment">// recorded frames will look exactly as the final displayed image by the GUI</span></div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">if</span> (wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#ac72ad601daf957b9b000206e9f1fe0ad">guiVerbose</a> &amp;&amp; (guiEnabled || !userOutputWs.empty()</div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; || threadManagerMode == <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a288aae25bc408055f50c21c991903a44">ThreadManagerMode::Asynchronous</a></div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; || threadManagerMode == <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36ac68f8680ccf3a65dfcfc63356112c9f9">ThreadManagerMode::AsynchronousOut</a>))</div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; {</div>
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> guiInfoAdder = std::make_shared&lt;GuiInfoAdder&gt;(numberThreads, guiEnabled);</div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; outputWs.emplace_back(std::make_shared&lt;<a class="code" href="classop_1_1_w_gui_info_adder.html">WGuiInfoAdder&lt;TDatumsSP&gt;</a>&gt;(guiInfoAdder));</div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; }</div>
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="comment">// Minimal graphical user interface (GUI)</span></div>
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; guiW = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">if</span> (guiEnabled)</div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; {</div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="comment">// PoseRenderers to Renderers</span></div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; std::vector&lt;std::shared_ptr&lt;Renderer&gt;&gt; renderers;</div>
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">if</span> (wrapperStructPose.renderMode == <a class="code" href="namespaceop.html#afce557f02e337e16150d00bdf72ec033a54c82ef76ecbbd4c2293e09bae01b54e">RenderMode::Cpu</a>)</div>
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; renderers.emplace_back(std::static_pointer_cast&lt;Renderer&gt;(poseCpuRenderer));</div>
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; poseGpuRenderer : poseGpuRenderers)</div>
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; renderers.emplace_back(std::static_pointer_cast&lt;Renderer&gt;(poseGpuRenderer));</div>
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="comment">// Display</span></div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="comment">// Adam (+3-D/2-D) display</span></div>
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">if</span> (displayAdam)</div>
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; {</div>
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;<span class="preprocessor">#ifdef USE_3D_ADAM_MODEL</span></div>
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;<span class="preprocessor"></span> <span class="comment">// Gui</span></div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> gui = std::make_shared&lt;GuiAdam&gt;(</div>
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; finalOutputSize, wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#aaf5df884418d2bf1df36505009264ece">fullScreen</a>, threadManager.<a class="code" href="classop_1_1_thread_manager.html#a48ea53b3de4d09c84db18e2c31ce1be1">getIsRunningSharedPtr</a>(),</div>
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; spVideoSeek, poseExtractorNets, faceExtractorNets, handExtractorNets, renderers,</div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a>, JointAngleEstimation::getTotalModel(),</div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6">writeVideoAdam</a></div>
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; );</div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="comment">// WGui</span></div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; guiW = {std::make_shared&lt;WGuiAdam&lt;TDatumsSP&gt;&gt;(gui)};</div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;<span class="preprocessor"></span> }</div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="comment">// 3-D (+2-D) display</span></div>
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a> == <a class="code" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6ae18221460ca8434295f980225fd6a91b">DisplayMode::Display3D</a></div>
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; || wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a> == <a class="code" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a105036ef087117869f656cd72bfd8dd6">DisplayMode::DisplayAll</a>)</div>
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; {</div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="comment">// Gui</span></div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> gui = std::make_shared&lt;Gui3D&gt;(</div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; finalOutputSize, wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#aaf5df884418d2bf1df36505009264ece">fullScreen</a>, threadManager.<a class="code" href="classop_1_1_thread_manager.html#a48ea53b3de4d09c84db18e2c31ce1be1">getIsRunningSharedPtr</a>(),</div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; spVideoSeek, poseExtractorNets, faceExtractorNets, handExtractorNets, renderers,</div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; wrapperStructPose.poseModel, wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a></div>
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; );</div>
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="comment">// WGui</span></div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; guiW = {std::make_shared&lt;WGui3D&lt;TDatumsSP&gt;&gt;(gui)};</div>
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; }</div>
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="comment">// 2-D display</span></div>
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a> == <a class="code" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a3bd9369403112127ae7db2f866002be2">DisplayMode::Display2D</a>)</div>
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; {</div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="comment">// Gui</span></div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> gui = std::make_shared&lt;Gui&gt;(</div>
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; finalOutputSize, wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#aaf5df884418d2bf1df36505009264ece">fullScreen</a>, threadManager.<a class="code" href="classop_1_1_thread_manager.html#a48ea53b3de4d09c84db18e2c31ce1be1">getIsRunningSharedPtr</a>(),</div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; spVideoSeek, poseExtractorNets, faceExtractorNets, handExtractorNets, renderers</div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; );</div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="comment">// WGui</span></div>
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; guiW = {std::make_shared&lt;WGui&lt;TDatumsSP&gt;&gt;(gui)};</div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; }</div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(<span class="stringliteral">&quot;Unknown DisplayMode.&quot;</span>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; }</div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="comment">// Set wrapper as configured</span></div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160;</div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; ? <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8">CocoJsonFormat::Body</a> : <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acae9989db5dabeea617f40c8dbfd07f5fb">CocoJsonFormat::Car</a>),</div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de">writeCocoJsonVariant</a>);</div>
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; outputWs.emplace_back(std::make_shared&lt;<a class="code" href="classop_1_1_w_coco_json_saver.html">WCocoJsonSaver&lt;TDatumsSP&gt;</a>&gt;(cocoJsonSaver));</div>
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; }</div>
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="comment">// Write people foot pose data on disk (COCO validation json format for foot data)</span></div>
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">if</span> (!wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74">writeCocoFootJson</a>.empty())</div>
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; {</div>
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="comment">// If humanFormat: bigger size (&amp; maybe slower to process), but easier for user to read it</span></div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> humanFormat = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> cocoJsonSaver = std::make_shared&lt;CocoJsonSaver&gt;(wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74">writeCocoFootJson</a>,</div>
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; humanFormat, <a class="code" href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715aca129e74dde7b475c8848310e16754c965">CocoJsonFormat::Foot</a>);</div>
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; outputWs.emplace_back(std::make_shared&lt;<a class="code" href="classop_1_1_w_coco_json_saver.html">WCocoJsonSaver&lt;TDatumsSP&gt;</a>&gt;(cocoJsonSaver));</div>
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; }</div>
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="comment">// Write frames as desired image format on hard disk</span></div>
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="keywordflow">if</span> (!writeImagesCleaned.empty())</div>
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; {</div>
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> imageSaver = std::make_shared&lt;ImageSaver&gt;(writeImagesCleaned,</div>
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">writeImagesFormat</a>);</div>
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; outputWs.emplace_back(std::make_shared&lt;<a class="code" href="classop_1_1_w_image_saver.html">WImageSaver&lt;TDatumsSP&gt;</a>&gt;(imageSaver));</div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; }</div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="comment">// Write frames as *.avi video on hard disk</span></div>
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> producerFps = (producerSharedPtr == <span class="keyword">nullptr</span> ?</div>
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; 0. : producerSharedPtr-&gt;get(CV_CAP_PROP_FPS));</div>
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> originalVideoFps = (wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">writeVideoFps</a> &gt; 0 ?</div>
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">writeVideoFps</a></div>
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; : producerFps);</div>
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">if</span> (!wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">writeVideo</a>.empty())</div>
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; {</div>
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">if</span> (!oPProducer)</div>
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(<span class="stringliteral">&quot;Video file can only be recorded inside `wrapper/wrapper.hpp` if the producer&quot;</span></div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="stringliteral">&quot; is one of the default ones (e.g., video, webcam, ...).&quot;</span>,</div>
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keywordflow">if</span> (finalOutputSize.x &lt;= 0 || finalOutputSize.y &lt;= 0)</div>
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(<span class="stringliteral">&quot;Video can only be recorded if outputSize is fixed (e.g., video, webcam, IP camera),&quot;</span></div>
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="stringliteral">&quot;but not for a image directory.&quot;</span>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> videoSaver = std::make_shared&lt;VideoSaver&gt;(</div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">writeVideo</a>, CV_FOURCC(<span class="charliteral">&#39;M&#39;</span>,<span class="charliteral">&#39;J&#39;</span>,<span class="charliteral">&#39;P&#39;</span>,<span class="charliteral">&#39;G&#39;</span>), originalVideoFps, finalOutputSize</div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; );</div>
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; outputWs.emplace_back(std::make_shared&lt;<a class="code" href="classop_1_1_w_video_saver.html">WVideoSaver&lt;TDatumsSP&gt;</a>&gt;(videoSaver));</div>
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; }</div>
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="comment">// Write joint angles as *.bvh file on hard disk</span></div>
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;<span class="preprocessor">#ifdef USE_3D_ADAM_MODEL</span></div>
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;<span class="preprocessor"></span> <span class="keywordflow">if</span> (!wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">writeBvh</a>.empty())</div>
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; {</div>
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> bvhSaver = std::make_shared&lt;BvhSaver&gt;(</div>
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">writeBvh</a>, JointAngleEstimation::getTotalModel(), originalVideoFps</div>
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; );</div>
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; outputWs.emplace_back(std::make_shared&lt;WBvhSaver&lt;TDatumsSP&gt;&gt;(bvhSaver));</div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; }</div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;<span class="preprocessor"></span> <span class="comment">// Write heat maps as desired image format on hard disk</span></div>
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">if</span> (!writeHeatMapsCleaned.empty())</div>
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; {</div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> heatMapSaver = std::make_shared&lt;HeatMapSaver&gt;(writeHeatMapsCleaned,</div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056">writeHeatMapsFormat</a>);</div>
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; outputWs.emplace_back(std::make_shared&lt;<a class="code" href="classop_1_1_w_heat_map_saver.html">WHeatMapSaver&lt;TDatumsSP&gt;</a>&gt;(heatMapSaver));</div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="comment">// Add frame information for GUI</span></div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> guiEnabled = (wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a> != <a class="code" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a28b652e57d2da6b7c939166be21efd9a">DisplayMode::NoDisplay</a>);</div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="comment">// If this WGuiInfoAdder instance is placed before the WImageSaver or WVideoSaver, then the resulting</span></div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="comment">// recorded frames will look exactly as the final displayed image by the GUI</span></div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <span class="keywordflow">if</span> (wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#ac72ad601daf957b9b000206e9f1fe0ad">guiVerbose</a> &amp;&amp; (guiEnabled || !userOutputWs.empty()</div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; || threadManagerMode == <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a288aae25bc408055f50c21c991903a44">ThreadManagerMode::Asynchronous</a></div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; || threadManagerMode == <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36ac68f8680ccf3a65dfcfc63356112c9f9">ThreadManagerMode::AsynchronousOut</a>))</div>
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; {</div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> guiInfoAdder = std::make_shared&lt;GuiInfoAdder&gt;(numberThreads, guiEnabled);</div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; outputWs.emplace_back(std::make_shared&lt;<a class="code" href="classop_1_1_w_gui_info_adder.html">WGuiInfoAdder&lt;TDatumsSP&gt;</a>&gt;(guiInfoAdder));</div>
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; }</div>
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="comment">// Minimal graphical user interface (GUI)</span></div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; guiW = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keywordflow">if</span> (guiEnabled)</div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; {</div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="comment">// PoseRenderers to Renderers</span></div>
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; std::vector&lt;std::shared_ptr&lt;Renderer&gt;&gt; renderers;</div>
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">if</span> (wrapperStructPose.renderMode == <a class="code" href="namespaceop.html#afce557f02e337e16150d00bdf72ec033a54c82ef76ecbbd4c2293e09bae01b54e">RenderMode::Cpu</a>)</div>
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; renderers.emplace_back(std::static_pointer_cast&lt;Renderer&gt;(poseCpuRenderer));</div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; poseGpuRenderer : poseGpuRenderers)</div>
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; renderers.emplace_back(std::static_pointer_cast&lt;Renderer&gt;(poseGpuRenderer));</div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="comment">// Display</span></div>
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="comment">// Adam (+3-D/2-D) display</span></div>
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">if</span> (displayAdam)</div>
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; {</div>
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;<span class="preprocessor">#ifdef USE_3D_ADAM_MODEL</span></div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;<span class="preprocessor"></span> <span class="comment">// Gui</span></div>
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> gui = std::make_shared&lt;GuiAdam&gt;(</div>
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; finalOutputSize, wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#aaf5df884418d2bf1df36505009264ece">fullScreen</a>, threadManager.<a class="code" href="classop_1_1_thread_manager.html#a48ea53b3de4d09c84db18e2c31ce1be1">getIsRunningSharedPtr</a>(),</div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; spVideoSeek, poseExtractorNets, faceExtractorNets, handExtractorNets, renderers,</div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a>, JointAngleEstimation::getTotalModel(),</div>
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6">writeVideoAdam</a></div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; );</div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="comment">// WGui</span></div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; guiW = {std::make_shared&lt;WGuiAdam&lt;TDatumsSP&gt;&gt;(gui)};</div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;<span class="preprocessor"></span> }</div>
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="comment">// 3-D (+2-D) display</span></div>
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a> == <a class="code" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6ae18221460ca8434295f980225fd6a91b">DisplayMode::Display3D</a></div>
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; || wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a> == <a class="code" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a105036ef087117869f656cd72bfd8dd6">DisplayMode::DisplayAll</a>)</div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; {</div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="comment">// Gui</span></div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> gui = std::make_shared&lt;Gui3D&gt;(</div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; finalOutputSize, wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#aaf5df884418d2bf1df36505009264ece">fullScreen</a>, threadManager.<a class="code" href="classop_1_1_thread_manager.html#a48ea53b3de4d09c84db18e2c31ce1be1">getIsRunningSharedPtr</a>(),</div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; spVideoSeek, poseExtractorNets, faceExtractorNets, handExtractorNets, renderers,</div>
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; wrapperStructPose.poseModel, wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a></div>
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; );</div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="comment">// WGui</span></div>
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; guiW = {std::make_shared&lt;WGui3D&lt;TDatumsSP&gt;&gt;(gui)};</div>
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; }</div>
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="comment">// 2-D display</span></div>
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">displayMode</a> == <a class="code" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a3bd9369403112127ae7db2f866002be2">DisplayMode::Display2D</a>)</div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; {</div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="comment">// Gui</span></div>
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> gui = std::make_shared&lt;Gui&gt;(</div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; finalOutputSize, wrapperStructOutput.<a class="code" href="structop_1_1_wrapper_struct_output.html#aaf5df884418d2bf1df36505009264ece">fullScreen</a>, threadManager.<a class="code" href="classop_1_1_thread_manager.html#a48ea53b3de4d09c84db18e2c31ce1be1">getIsRunningSharedPtr</a>(),</div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; spVideoSeek, poseExtractorNets, faceExtractorNets, handExtractorNets, renderers</div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; );</div>
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="comment">// WGui</span></div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; guiW = {std::make_shared&lt;WGui&lt;TDatumsSP&gt;&gt;(gui)};</div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; }</div>
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(<span class="stringliteral">&quot;Unknown DisplayMode.&quot;</span>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; }</div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="comment">// Set wrapper as configured</span></div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;</div>
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;</div>
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;</div>
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160;</div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="comment">// The less number of queues -&gt; the less threads opened, and potentially the less lag</span></div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160;</div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="comment">// Sanity checks</span></div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">if</span> ((datumProducerW == <span class="keyword">nullptr</span>) == (userInputWs.empty())</div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; &amp;&amp; threadManagerMode != <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a288aae25bc408055f50c21c991903a44">ThreadManagerMode::Asynchronous</a></div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; &amp;&amp; threadManagerMode != <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a435b3ab344c03bfc0e4530a2e75f5e44">ThreadManagerMode::AsynchronousIn</a>)</div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; {</div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> message = <span class="stringliteral">&quot;You need to have 1 and only 1 producer selected. You can introduce your own&quot;</span></div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="stringliteral">&quot; producer by using setWorker(WorkerType::Input, ...) or use the OpenPose&quot;</span></div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="stringliteral">&quot; default producer by configuring it in the configure function) or use the&quot;</span></div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="stringliteral">&quot; ThreadManagerMode::Asynchronous(In) mode.&quot;</span>;</div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(message, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; }</div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="keywordflow">if</span> (outputWs.empty() &amp;&amp; userOutputWs.empty() &amp;&amp; guiW == <span class="keyword">nullptr</span></div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; &amp;&amp; threadManagerMode != <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a288aae25bc408055f50c21c991903a44">ThreadManagerMode::Asynchronous</a></div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; &amp;&amp; threadManagerMode != <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36ac68f8680ccf3a65dfcfc63356112c9f9">ThreadManagerMode::AsynchronousOut</a>)</div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; {</div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(<span class="stringliteral">&quot;No output selected.&quot;</span>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; }</div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160;</div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="comment">// Thread Manager</span></div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="comment">// Clean previous thread manager (avoid configure to crash the program if used more than once)</span></div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a5b7c5ea46c360496e261094c5e1397a7">reset</a>();</div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> threadId = 0ull;</div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="keyword">auto</span> queueIn = 0ull;</div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keyword">auto</span> queueOut = 1ull;</div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="comment">// After producer</span></div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="comment">// ID generator (before any multi-threading or any function that requires the ID)</span></div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> wIdGenerator = std::make_shared&lt;WIdGenerator&lt;TDatumsSP&gt;&gt;();</div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; std::vector&lt;TWorker&gt; workersAux{wIdGenerator};</div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <span class="comment">// Scale &amp; cv::Mat to OP format</span></div>
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">if</span> (scaleAndSizeExtractorW != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; workersAux = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>(workersAux, {scaleAndSizeExtractorW});</div>
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">if</span> (cvMatToOpInputW != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; workersAux = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>(workersAux, {cvMatToOpInputW});</div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="comment">// cv::Mat to output format</span></div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keywordflow">if</span> (cvMatToOpOutputW != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; workersAux = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>(workersAux, {cvMatToOpOutputW});</div>
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;</div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="comment">// Producer</span></div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="comment">// If custom user Worker and uses its own thread</span></div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">if</span> (!userInputWs.empty() &amp;&amp; userInputWsOnNewThread)</div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; {</div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="comment">// Thread 0, queues 0 -&gt; 1</span></div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, userInputWs, queueIn++, queueOut++);</div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; }</div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="comment">// If custom user Worker in same thread</span></div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!userInputWs.empty())</div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; workersAux = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>(userInputWs, workersAux);</div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <span class="comment">// If OpenPose producer (same thread)</span></div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (datumProducerW != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; workersAux = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>({datumProducerW}, workersAux);</div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <span class="comment">// Otherwise</span></div>
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (threadManagerMode != <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a288aae25bc408055f50c21c991903a44">ThreadManagerMode::Asynchronous</a></div>
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; &amp;&amp; threadManagerMode != <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a435b3ab344c03bfc0e4530a2e75f5e44">ThreadManagerMode::AsynchronousIn</a>)</div>
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(<span class="stringliteral">&quot;No input selected.&quot;</span>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="comment">// Thread 0 or 1, queues 0 -&gt; 1</span></div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, workersAux, queueIn++, queueOut++);</div>
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="comment">// Increase thread</span></div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;</div>
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="comment">// Pose estimation &amp; rendering</span></div>
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="comment">// Thread 1 or 2...X, queues 1 -&gt; 2, X = 2 + #GPUs</span></div>
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="keywordflow">if</span> (!poseExtractorsWs.empty())</div>
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; {</div>
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="keywordflow">if</span> (multiThreadEnabled)</div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; {</div>
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; wPose : poseExtractorsWs)</div>
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; {</div>
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wPose, queueIn, queueOut);</div>
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; }</div>
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; queueIn++;</div>
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; queueOut++;</div>
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <span class="comment">// Sort frames - Required own thread</span></div>
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">if</span> (poseExtractorsWs.size() &gt; 1u)</div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; {</div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> wQueueOrderer = std::make_shared&lt;WQueueOrderer&lt;TDatumsSP&gt;&gt;();</div>
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wQueueOrderer, queueIn++, queueOut++);</div>
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; }</div>
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; }</div>
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; {</div>
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; <span class="keywordflow">if</span> (poseExtractorsWs.size() &gt; 1)</div>
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;Multi-threading disabled, only 1 thread running. All GPUs have been disabled but the&quot;</span></div>
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <span class="stringliteral">&quot; first one, which is defined by gpuNumberStart (e.g. in the OpenPose demo, it is set&quot;</span></div>
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="stringliteral">&quot; with the `--num_gpu_start` flag).&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a655d20c1ca69519ca647684edbb2db35">Priority::High</a>);</div>
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, poseExtractorsWs.at(0), queueIn++, queueOut++);</div>
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; }</div>
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; }</div>
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="comment">// Assemble all frames from same time instant (3-D module)</span></div>
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> wQueueAssembler = std::make_shared&lt;WQueueAssembler&lt;TDatumsSP, TDatums&gt;&gt;();</div>
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="comment">// 3-D reconstruction</span></div>
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="keywordflow">if</span> (!poseTriangulationsWs.empty())</div>
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; {</div>
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; <span class="comment">// Assemble frames</span></div>
<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wQueueAssembler, queueIn++, queueOut++);</div>
<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="comment">// 3-D reconstruction</span></div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="keywordflow">if</span> (multiThreadEnabled)</div>
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; {</div>
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; wPoseTriangulations : poseTriangulationsWs)</div>
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; {</div>
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wPoseTriangulations, queueIn, queueOut);</div>
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; }</div>
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; queueIn++;</div>
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; queueOut++;</div>
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <span class="comment">// Sort frames</span></div>
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <span class="keywordflow">if</span> (poseTriangulationsWs.size() &gt; 1u)</div>
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; {</div>
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> wQueueOrderer = std::make_shared&lt;WQueueOrderer&lt;TDatumsSP&gt;&gt;();</div>
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wQueueOrderer, queueIn++, queueOut++);</div>
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; }</div>
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; }</div>
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; {</div>
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <span class="keywordflow">if</span> (poseTriangulationsWs.size() &gt; 1)</div>
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;Multi-threading disabled, only 1 thread running for 3-D triangulation.&quot;</span>,</div>
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a655d20c1ca69519ca647684edbb2db35">Priority::High</a>);</div>
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, poseTriangulationsWs.at(0), queueIn++, queueOut++);</div>
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; }</div>
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; }</div>
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; postProcessingWs = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>({wQueueAssembler}, postProcessingWs);</div>
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <span class="comment">// Adam/IK step</span></div>
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="keywordflow">if</span> (!jointAngleEstimationsWs.empty())</div>
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; {</div>
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <span class="keywordflow">if</span> (multiThreadEnabled)</div>
<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; {</div>
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; wJointAngleEstimator : jointAngleEstimationsWs)</div>
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; {</div>
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wJointAngleEstimator, queueIn, queueOut);</div>
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; }</div>
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; queueIn++;</div>
<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; queueOut++;</div>
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <span class="comment">// Sort frames</span></div>
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="keywordflow">if</span> (jointAngleEstimationsWs.size() &gt; 1)</div>
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; {</div>
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> wQueueOrderer = std::make_shared&lt;WQueueOrderer&lt;TDatumsSP&gt;&gt;();</div>
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wQueueOrderer, queueIn++, queueOut++);</div>
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; }</div>
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; }</div>
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; {</div>
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="keywordflow">if</span> (jointAngleEstimationsWs.size() &gt; 1)</div>
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;Multi-threading disabled, only 1 thread running for joint angle estimation.&quot;</span>,</div>
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a655d20c1ca69519ca647684edbb2db35">Priority::High</a>);</div>
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, jointAngleEstimationsWs.at(0), queueIn++, queueOut++);</div>
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; }</div>
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; }</div>
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <span class="comment">// Post processing workers</span></div>
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="keywordflow">if</span> (!postProcessingWs.empty())</div>
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; {</div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="comment">// Combining postProcessingWs and outputWs</span></div>
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; outputWs = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>(postProcessingWs, outputWs);</div>
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <span class="comment">// // If I wanna split them</span></div>
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="comment">// log(&quot;&quot;, Priority::Low, __LINE__, __FUNCTION__, __FILE__);</span></div>
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="comment">// threadManager.add(threadId, postProcessingWs, queueIn++, queueOut++);</span></div>
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="comment">// threadIdPP(threadId, multiThreadEnabled);</span></div>
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; }</div>
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="comment">// If custom user Worker and uses its own thread</span></div>
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <span class="keywordflow">if</span> (!userPostProcessingWs.empty())</div>
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; {</div>
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; <span class="comment">// If custom user Worker in its own thread</span></div>
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <span class="keywordflow">if</span> (userPostProcessingWsOnNewThread)</div>
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; {</div>
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, userPostProcessingWs, queueIn++, queueOut++);</div>
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; }</div>
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="comment">// If custom user Worker in same thread</span></div>
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="comment">// Merge with outputWs</span></div>
<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; outputWs = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>(outputWs, userPostProcessingWs);</div>
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; }</div>
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="comment">// Output workers</span></div>
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="keywordflow">if</span> (!outputWs.empty())</div>
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; {</div>
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="comment">// Thread 4 or 5, queues 4 -&gt; 5</span></div>
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, outputWs, queueIn++, queueOut++);</div>
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; }</div>
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; <span class="comment">// User output worker</span></div>
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="comment">// Thread Y, queues Q -&gt; Q+1</span></div>
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keywordflow">if</span> (!userOutputWs.empty())</div>
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; {</div>
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <span class="keywordflow">if</span> (userOutputWsOnNewThread)</div>
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; {</div>
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, userOutputWs, queueIn++, queueOut++);</div>
<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; }</div>
<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; {</div>
<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId-1, userOutputWs, queueIn++, queueOut++);</div>
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; }</div>
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; }</div>
<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; <span class="comment">// OpenPose GUI</span></div>
<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; <span class="keywordflow">if</span> (guiW != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; {</div>
<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; <span class="comment">// Thread Y+1, queues Q+1 -&gt; Q+2</span></div>
<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, guiW, queueIn++, queueOut++);</div>
<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; }</div>
<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; }</div>
<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception&amp; e)</div>
<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; {</div>
<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(e.what(), __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; }</div>
<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; }</div>
<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160;}</div>
<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160;</div>
<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;<span class="preprocessor">#endif // OPENPOSE_WRAPPER_WRAPPER_AUXILIARY_HPP</span></div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;</div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="comment">// The less number of queues -&gt; the less threads opened, and potentially the less lag</span></div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;</div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="comment">// Sanity checks</span></div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="keywordflow">if</span> ((datumProducerW == <span class="keyword">nullptr</span>) == (userInputWs.empty())</div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; &amp;&amp; threadManagerMode != <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a288aae25bc408055f50c21c991903a44">ThreadManagerMode::Asynchronous</a></div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; &amp;&amp; threadManagerMode != <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a435b3ab344c03bfc0e4530a2e75f5e44">ThreadManagerMode::AsynchronousIn</a>)</div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; {</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> message = <span class="stringliteral">&quot;You need to have 1 and only 1 producer selected. You can introduce your own&quot;</span></div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="stringliteral">&quot; producer by using setWorker(WorkerType::Input, ...) or use the OpenPose&quot;</span></div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="stringliteral">&quot; default producer by configuring it in the configure function) or use the&quot;</span></div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="stringliteral">&quot; ThreadManagerMode::Asynchronous(In) mode.&quot;</span>;</div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(message, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; }</div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keywordflow">if</span> (outputWs.empty() &amp;&amp; userOutputWs.empty() &amp;&amp; guiW == <span class="keyword">nullptr</span></div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; &amp;&amp; threadManagerMode != <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a288aae25bc408055f50c21c991903a44">ThreadManagerMode::Asynchronous</a></div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; &amp;&amp; threadManagerMode != <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36ac68f8680ccf3a65dfcfc63356112c9f9">ThreadManagerMode::AsynchronousOut</a>)</div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; {</div>
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(<span class="stringliteral">&quot;No output selected.&quot;</span>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; }</div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;</div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="comment">// Thread Manager</span></div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="comment">// Clean previous thread manager (avoid configure to crash the program if used more than once)</span></div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a5b7c5ea46c360496e261094c5e1397a7">reset</a>();</div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> threadId = 0ull;</div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keyword">auto</span> queueIn = 0ull;</div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keyword">auto</span> queueOut = 1ull;</div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="comment">// After producer</span></div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="comment">// ID generator (before any multi-threading or any function that requires the ID)</span></div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> wIdGenerator = std::make_shared&lt;WIdGenerator&lt;TDatumsSP&gt;&gt;();</div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; std::vector&lt;TWorker&gt; workersAux{wIdGenerator};</div>
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="comment">// Scale &amp; cv::Mat to OP format</span></div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keywordflow">if</span> (scaleAndSizeExtractorW != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; workersAux = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>(workersAux, {scaleAndSizeExtractorW});</div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">if</span> (cvMatToOpInputW != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; workersAux = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>(workersAux, {cvMatToOpInputW});</div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="comment">// cv::Mat to output format</span></div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keywordflow">if</span> (cvMatToOpOutputW != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; workersAux = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>(workersAux, {cvMatToOpOutputW});</div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;</div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="comment">// Producer</span></div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="comment">// If custom user Worker and uses its own thread</span></div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordflow">if</span> (!userInputWs.empty() &amp;&amp; userInputWsOnNewThread)</div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; {</div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="comment">// Thread 0, queues 0 -&gt; 1</span></div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, userInputWs, queueIn++, queueOut++);</div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; }</div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="comment">// If custom user Worker in same thread</span></div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!userInputWs.empty())</div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; workersAux = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>(userInputWs, workersAux);</div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="comment">// If OpenPose producer (same thread)</span></div>
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (datumProducerW != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; workersAux = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>({datumProducerW}, workersAux);</div>
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="comment">// Otherwise</span></div>
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (threadManagerMode != <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a288aae25bc408055f50c21c991903a44">ThreadManagerMode::Asynchronous</a></div>
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; &amp;&amp; threadManagerMode != <a class="code" href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a435b3ab344c03bfc0e4530a2e75f5e44">ThreadManagerMode::AsynchronousIn</a>)</div>
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(<span class="stringliteral">&quot;No input selected.&quot;</span>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="comment">// Thread 0 or 1, queues 0 -&gt; 1</span></div>
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, workersAux, queueIn++, queueOut++);</div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="comment">// Increase thread</span></div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160;</div>
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="comment">// Pose estimation &amp; rendering</span></div>
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="comment">// Thread 1 or 2...X, queues 1 -&gt; 2, X = 2 + #GPUs</span></div>
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">if</span> (!poseExtractorsWs.empty())</div>
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; {</div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <span class="keywordflow">if</span> (multiThreadEnabled)</div>
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; {</div>
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; wPose : poseExtractorsWs)</div>
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; {</div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wPose, queueIn, queueOut);</div>
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; }</div>
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; queueIn++;</div>
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; queueOut++;</div>
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="comment">// Sort frames - Required own thread</span></div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">if</span> (poseExtractorsWs.size() &gt; 1u)</div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; {</div>
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> wQueueOrderer = std::make_shared&lt;WQueueOrderer&lt;TDatumsSP&gt;&gt;();</div>
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wQueueOrderer, queueIn++, queueOut++);</div>
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; }</div>
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; }</div>
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; {</div>
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="keywordflow">if</span> (poseExtractorsWs.size() &gt; 1)</div>
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;Multi-threading disabled, only 1 thread running. All GPUs have been disabled but the&quot;</span></div>
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="stringliteral">&quot; first one, which is defined by gpuNumberStart (e.g., in the OpenPose demo, it is set&quot;</span></div>
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="stringliteral">&quot; with the `--num_gpu_start` flag).&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a655d20c1ca69519ca647684edbb2db35">Priority::High</a>);</div>
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, poseExtractorsWs.at(0), queueIn++, queueOut++);</div>
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; }</div>
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; }</div>
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="comment">// Assemble all frames from same time instant (3-D module)</span></div>
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> wQueueAssembler = std::make_shared&lt;WQueueAssembler&lt;TDatumsSP, TDatums&gt;&gt;();</div>
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; <span class="comment">// 3-D reconstruction</span></div>
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="keywordflow">if</span> (!poseTriangulationsWs.empty())</div>
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; {</div>
<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="comment">// Assemble frames</span></div>
<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wQueueAssembler, queueIn++, queueOut++);</div>
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="comment">// 3-D reconstruction</span></div>
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="keywordflow">if</span> (multiThreadEnabled)</div>
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; {</div>
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; wPoseTriangulations : poseTriangulationsWs)</div>
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; {</div>
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wPoseTriangulations, queueIn, queueOut);</div>
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; }</div>
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; queueIn++;</div>
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; queueOut++;</div>
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <span class="comment">// Sort frames</span></div>
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; <span class="keywordflow">if</span> (poseTriangulationsWs.size() &gt; 1u)</div>
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; {</div>
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> wQueueOrderer = std::make_shared&lt;WQueueOrderer&lt;TDatumsSP&gt;&gt;();</div>
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wQueueOrderer, queueIn++, queueOut++);</div>
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; }</div>
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; }</div>
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; {</div>
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordflow">if</span> (poseTriangulationsWs.size() &gt; 1)</div>
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;Multi-threading disabled, only 1 thread running for 3-D triangulation.&quot;</span>,</div>
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a655d20c1ca69519ca647684edbb2db35">Priority::High</a>);</div>
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, poseTriangulationsWs.at(0), queueIn++, queueOut++);</div>
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; }</div>
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; }</div>
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; postProcessingWs = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>({wQueueAssembler}, postProcessingWs);</div>
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="comment">// Adam/IK step</span></div>
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <span class="keywordflow">if</span> (!jointAngleEstimationsWs.empty())</div>
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; {</div>
<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <span class="keywordflow">if</span> (multiThreadEnabled)</div>
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; {</div>
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; wJointAngleEstimator : jointAngleEstimationsWs)</div>
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; {</div>
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wJointAngleEstimator, queueIn, queueOut);</div>
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; }</div>
<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; queueIn++;</div>
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; queueOut++;</div>
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <span class="comment">// Sort frames</span></div>
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="keywordflow">if</span> (jointAngleEstimationsWs.size() &gt; 1)</div>
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; {</div>
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> wQueueOrderer = std::make_shared&lt;WQueueOrderer&lt;TDatumsSP&gt;&gt;();</div>
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, wQueueOrderer, queueIn++, queueOut++);</div>
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; }</div>
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; }</div>
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; {</div>
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <span class="keywordflow">if</span> (jointAngleEstimationsWs.size() &gt; 1)</div>
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;Multi-threading disabled, only 1 thread running for joint angle estimation.&quot;</span>,</div>
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a655d20c1ca69519ca647684edbb2db35">Priority::High</a>);</div>
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, jointAngleEstimationsWs.at(0), queueIn++, queueOut++);</div>
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; }</div>
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; }</div>
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="comment">// Post processing workers</span></div>
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <span class="keywordflow">if</span> (!postProcessingWs.empty())</div>
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; {</div>
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="comment">// Combining postProcessingWs and outputWs</span></div>
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; outputWs = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>(postProcessingWs, outputWs);</div>
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <span class="comment">// // If I wanna split them</span></div>
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="comment">// log(&quot;&quot;, Priority::Low, __LINE__, __FUNCTION__, __FILE__);</span></div>
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <span class="comment">// threadManager.add(threadId, postProcessingWs, queueIn++, queueOut++);</span></div>
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="comment">// threadIdPP(threadId, multiThreadEnabled);</span></div>
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; }</div>
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <span class="comment">// If custom user Worker and uses its own thread</span></div>
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <span class="keywordflow">if</span> (!userPostProcessingWs.empty())</div>
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; {</div>
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <span class="comment">// If custom user Worker in its own thread</span></div>
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keywordflow">if</span> (userPostProcessingWsOnNewThread)</div>
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; {</div>
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, userPostProcessingWs, queueIn++, queueOut++);</div>
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; }</div>
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="comment">// If custom user Worker in same thread</span></div>
<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <span class="comment">// Merge with outputWs</span></div>
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; outputWs = <a class="code" href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">mergeVectors</a>(outputWs, userPostProcessingWs);</div>
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; }</div>
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; <span class="comment">// Output workers</span></div>
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <span class="keywordflow">if</span> (!outputWs.empty())</div>
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; {</div>
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; <span class="comment">// Thread 4 or 5, queues 4 -&gt; 5</span></div>
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, outputWs, queueIn++, queueOut++);</div>
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; }</div>
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <span class="comment">// User output worker</span></div>
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="comment">// Thread Y, queues Q -&gt; Q+1</span></div>
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keywordflow">if</span> (!userOutputWs.empty())</div>
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; {</div>
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <span class="keywordflow">if</span> (userOutputWsOnNewThread)</div>
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; {</div>
<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, userOutputWs, queueIn++, queueOut++);</div>
<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; }</div>
<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; {</div>
<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId-1, userOutputWs, queueIn++, queueOut++);</div>
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; }</div>
<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; }</div>
<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; <span class="comment">// OpenPose GUI</span></div>
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160; <span class="keywordflow">if</span> (guiW != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; {</div>
<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; <span class="comment">// Thread Y+1, queues Q+1 -&gt; Q+2</span></div>
<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; threadManager.<a class="code" href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">add</a>(threadId, guiW, queueIn++, queueOut++);</div>
<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; <a class="code" href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">threadIdPP</a>(threadId, multiThreadEnabled);</div>
<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; }</div>
<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <a class="code" href="namespaceop.html#a9912b2bfa3dbe427b4e72dd34c605df2">log</a>(<span class="stringliteral">&quot;&quot;</span>, <a class="code" href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">Priority::Low</a>, __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; }</div>
<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception&amp; e)</div>
<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; {</div>
<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <a class="code" href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">error</a>(e.what(), __LINE__, __FUNCTION__, __FILE__);</div>
<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; }</div>
<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; }</div>
<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160;}</div>
<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;</div>
<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160;<span class="preprocessor">#endif // OPENPOSE_WRAPPER_WRAPPER_AUXILIARY_HPP</span></div>
<div class="ttc" id="namespaceop_html_ae52707752b1872b39f0306cc4f6c6ae6a28b652e57d2da6b7c939166be21efd9a"><div class="ttname"><a href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a28b652e57d2da6b7c939166be21efd9a">op::DisplayMode::NoDisplay</a></div></div>
<div class="ttc" id="core_2headers_8hpp_html"><div class="ttname"><a href="core_2headers_8hpp.html">headers.hpp</a></div></div>
<div class="ttc" id="namespaceop_html_af65a4564afcad06b72468679f6bee52b"><div class="ttname"><a href="namespaceop.html#af65a4564afcad06b72468679f6bee52b">op::threadIdPP</a></div><div class="ttdeci">OP_API void threadIdPP(unsigned long long &amp;threadId, const bool multiThreadEnabled)</div></div>
<div class="ttc" id="thread_2headers_8hpp_html"><div class="ttname"><a href="thread_2headers_8hpp.html">headers.hpp</a></div></div>
<div class="ttc" id="namespaceop_html_adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef"><div class="ttname"><a href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a28d0edd045e05cf5af64e35ae0c4c6ef">op::Priority::Low</a></div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a0119bb7429483928c587ffaf607919de"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de">op::WrapperStructOutput::writeCocoJsonVariant</a></div><div class="ttdeci">int writeCocoJsonVariant</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:78</div></div>
<div class="ttc" id="classop_1_1_w_hand_detector_tracking_html"><div class="ttname"><a href="classop_1_1_w_hand_detector_tracking.html">op::WHandDetectorTracking</a></div><div class="ttdef"><b>Definition:</b> wHandDetectorTracking.hpp:11</div></div>
<div class="ttc" id="namespaceop_html_afce557f02e337e16150d00bdf72ec033a6adf97f83acf6453d4a6a4b1070f3754"><div class="ttname"><a href="namespaceop.html#afce557f02e337e16150d00bdf72ec033a6adf97f83acf6453d4a6a4b1070f3754">op::RenderMode::None</a></div></div>
<div class="ttc" id="classop_1_1_w_gui_info_adder_html"><div class="ttname"><a href="classop_1_1_w_gui_info_adder.html">op::WGuiInfoAdder</a></div><div class="ttdef"><b>Definition:</b> wGuiInfoAdder.hpp:11</div></div>
@@ -1076,7 +1078,7 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
<div class="ttc" id="namespacecl_html_a8856ce875094624efdce0a49496d695e"><div class="ttname"><a href="namespacecl.html#a8856ce875094624efdce0a49496d695e">cl::array</a></div><div class="ttdeci">std::array&lt; T, N &gt; array</div><div class="ttdef"><b>Definition:</b> cl2.hpp:594</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_face_html_a49f609ae1c075f272bbaf32e128cc3a9"><div class="ttname"><a href="structop_1_1_wrapper_struct_face.html#a49f609ae1c075f272bbaf32e128cc3a9">op::WrapperStructFace::alphaHeatMap</a></div><div class="ttdeci">float alphaHeatMap</div><div class="ttdef"><b>Definition:</b> wrapperStructFace.hpp:46</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_ac72ad601daf957b9b000206e9f1fe0ad"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#ac72ad601daf957b9b000206e9f1fe0ad">op::WrapperStructOutput::guiVerbose</a></div><div class="ttdeci">bool guiVerbose</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:31</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a34d5796e02b8afaaaef99fc26e7f3056"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056">op::WrapperStructOutput::writeHeatMapsFormat</a></div><div class="ttdeci">std::string writeHeatMapsFormat</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:106</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a34d5796e02b8afaaaef99fc26e7f3056"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056">op::WrapperStructOutput::writeHeatMapsFormat</a></div><div class="ttdeci">std::string writeHeatMapsFormat</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:112</div></div>
<div class="ttc" id="namespaceop_html_adbb34b5c8f2b6f0c051f831f18582e7fa3c1472839b807c90abff3c7c36dff458"><div class="ttname"><a href="namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7fa3c1472839b807c90abff3c7c36dff458">op::GpuMode::NoGpu</a></div></div>
<div class="ttc" id="classop_1_1_w_pose_saver_html"><div class="ttname"><a href="classop_1_1_w_pose_saver.html">op::WPoseSaver</a></div><div class="ttdef"><b>Definition:</b> wPoseSaver.hpp:12</div></div>
<div class="ttc" id="namespaceop_html_a970a2a768a2ace81605b1558c9fdec18aa52d6088cbae537944827c8f8c69c570"><div class="ttname"><a href="namespaceop.html#a970a2a768a2ace81605b1558c9fdec18aa52d6088cbae537944827c8f8c69c570">op::WorkerType::PostProcessing</a></div></div>
@@ -1094,10 +1096,10 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
<div class="ttc" id="structop_1_1_wrapper_struct_extra_html_a86ae9d1faa008aaeed4d6fa6ff03f0fb"><div class="ttname"><a href="structop_1_1_wrapper_struct_extra.html#a86ae9d1faa008aaeed4d6fa6ff03f0fb">op::WrapperStructExtra::tracking</a></div><div class="ttdeci">int tracking</div><div class="ttdef"><b>Definition:</b> wrapperStructExtra.hpp:39</div></div>
<div class="ttc" id="classop_1_1_w_people_json_saver_html"><div class="ttname"><a href="classop_1_1_w_people_json_saver.html">op::WPeopleJsonSaver</a></div><div class="ttdef"><b>Definition:</b> wPeopleJsonSaver.hpp:11</div></div>
<div class="ttc" id="classop_1_1_w_hand_renderer_html"><div class="ttname"><a href="classop_1_1_w_hand_renderer.html">op::WHandRenderer</a></div><div class="ttdef"><b>Definition:</b> wHandRenderer.hpp:11</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_ad595edffced2bfd80c3bee183f32f505"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">op::WrapperStructOutput::writeVideoFps</a></div><div class="ttdeci">double writeVideoFps</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:111</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_ad595edffced2bfd80c3bee183f32f505"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">op::WrapperStructOutput::writeVideoFps</a></div><div class="ttdeci">double writeVideoFps</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:117</div></div>
<div class="ttc" id="classop_1_1_w_image_saver_html"><div class="ttname"><a href="classop_1_1_w_image_saver.html">op::WImageSaver</a></div><div class="ttdef"><b>Definition:</b> wImageSaver.hpp:11</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_aec3a7ec85be0779930427ba3e806ea2c"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c">op::WrapperStructOutput::udpPort</a></div><div class="ttdeci">std::string udpPort</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:135</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a5f56c15d410645442b5ac21c316b9c85"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85">op::WrapperStructOutput::writeImages</a></div><div class="ttdeci">std::string writeImages</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:78</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_aec3a7ec85be0779930427ba3e806ea2c"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c">op::WrapperStructOutput::udpPort</a></div><div class="ttdeci">std::string udpPort</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:141</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a5f56c15d410645442b5ac21c316b9c85"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85">op::WrapperStructOutput::writeImages</a></div><div class="ttdeci">std::string writeImages</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:84</div></div>
<div class="ttc" id="classop_1_1_thread_manager_html_a48ea53b3de4d09c84db18e2c31ce1be1"><div class="ttname"><a href="classop_1_1_thread_manager.html#a48ea53b3de4d09c84db18e2c31ce1be1">op::ThreadManager::getIsRunningSharedPtr</a></div><div class="ttdeci">std::shared_ptr&lt; std::atomic&lt; bool &gt; &gt; getIsRunningSharedPtr()</div><div class="ttdef"><b>Definition:</b> threadManager.hpp:40</div></div>
<div class="ttc" id="wrapper_struct_face_8hpp_html"><div class="ttname"><a href="wrapper_struct_face_8hpp.html">wrapperStructFace.hpp</a></div></div>
<div class="ttc" id="namespaceop_html_ae52707752b1872b39f0306cc4f6c6ae6a105036ef087117869f656cd72bfd8dd6"><div class="ttname"><a href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a105036ef087117869f656cd72bfd8dd6">op::DisplayMode::DisplayAll</a></div></div>
@@ -1111,7 +1113,7 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
<div class="ttc" id="classop_1_1_w_keypoint_scaler_html"><div class="ttname"><a href="classop_1_1_w_keypoint_scaler.html">op::WKeypointScaler</a></div><div class="ttdef"><b>Definition:</b> wKeypointScaler.hpp:11</div></div>
<div class="ttc" id="structop_1_1_point_html"><div class="ttname"><a href="structop_1_1_point.html">op::Point&lt; int &gt;</a></div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_extra_html_ae8a3562b010c4fa31e6a9722947301c6"><div class="ttname"><a href="structop_1_1_wrapper_struct_extra.html#ae8a3562b010c4fa31e6a9722947301c6">op::WrapperStructExtra::minViews3d</a></div><div class="ttdeci">int minViews3d</div><div class="ttdef"><b>Definition:</b> wrapperStructExtra.hpp:27</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_adca0d08aa43e2280ca06a8db0deb81bc"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc">op::WrapperStructOutput::writeHeatMaps</a></div><div class="ttdeci">std::string writeHeatMaps</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:100</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_adca0d08aa43e2280ca06a8db0deb81bc"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc">op::WrapperStructOutput::writeHeatMaps</a></div><div class="ttdeci">std::string writeHeatMaps</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:106</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a6efbd77da8ebcea3abc4109bb2f39c0b"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b">op::WrapperStructOutput::writeCocoJson</a></div><div class="ttdeci">std::string writeCocoJson</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:67</div></div>
<div class="ttc" id="namespaceop_html_a3593e2d53bec533f0048ef3973eebd36a288aae25bc408055f50c21c991903a44"><div class="ttname"><a href="namespaceop.html#a3593e2d53bec533f0048ef3973eebd36a288aae25bc408055f50c21c991903a44">op::ThreadManagerMode::Asynchronous</a></div></div>
<div class="ttc" id="classop_1_1_thread_manager_html_a8134abeaec65b5647ae92e34f3ad420b"><div class="ttname"><a href="classop_1_1_thread_manager.html#a8134abeaec65b5647ae92e34f3ad420b">op::ThreadManager::add</a></div><div class="ttdeci">void add(const unsigned long long threadId, const std::vector&lt; TWorker &gt; &amp;tWorkers, const unsigned long long queueInId, const unsigned long long queueOutId)</div><div class="ttdef"><b>Definition:</b> threadManager.hpp:125</div></div>
@@ -1123,7 +1125,7 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
<div class="ttc" id="file_system_8hpp_html"><div class="ttname"><a href="file_system_8hpp.html">fileSystem.hpp</a></div></div>
<div class="ttc" id="namespaceop_html_a5f092bd36c716a894cb035e1ead2aca3"><div class="ttname"><a href="namespaceop.html#a5f092bd36c716a894cb035e1ead2aca3">op::error</a></div><div class="ttdeci">OP_API void error(const std::string &amp;message, const int line=-1, const std::string &amp;function=&quot;&quot;, const std::string &amp;file=&quot;&quot;)</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_aaf5df884418d2bf1df36505009264ece"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#aaf5df884418d2bf1df36505009264ece">op::WrapperStructOutput::fullScreen</a></div><div class="ttdeci">bool fullScreen</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:37</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a92040f009e2f9344037d93d6442ce117"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117">op::WrapperStructOutput::udpHost</a></div><div class="ttdeci">std::string udpHost</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:130</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a92040f009e2f9344037d93d6442ce117"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117">op::WrapperStructOutput::udpHost</a></div><div class="ttdeci">std::string udpHost</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:136</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_ad338fd4719d6f243bb64bc67f68bc7c9"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#ad338fd4719d6f243bb64bc67f68bc7c9">op::WrapperStructOutput::writeKeypointFormat</a></div><div class="ttdeci">DataFormat writeKeypointFormat</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:51</div></div>
<div class="ttc" id="namespaceop_html_a970a2a768a2ace81605b1558c9fdec18a324118a6721dd6b8a9b9f4e327df2bf5"><div class="ttname"><a href="namespaceop.html#a970a2a768a2ace81605b1558c9fdec18a324118a6721dd6b8a9b9f4e327df2bf5">op::WorkerType::Input</a></div></div>
<div class="ttc" id="gpu_8hpp_html"><div class="ttname"><a href="gpu_8hpp.html">gpu.hpp</a></div></div>
@@ -1153,7 +1155,7 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
<div class="ttc" id="structop_1_1_wrapper_struct_input_html_ac4349e123d359f436cc01d4068231dc2"><div class="ttname"><a href="structop_1_1_wrapper_struct_input.html#ac4349e123d359f436cc01d4068231dc2">op::WrapperStructInput::frameStep</a></div><div class="ttdeci">unsigned long long frameStep</div><div class="ttdef"><b>Definition:</b> wrapperStructInput.hpp:40</div></div>
<div class="ttc" id="gui_2headers_8hpp_html"><div class="ttname"><a href="gui_2headers_8hpp.html">headers.hpp</a></div></div>
<div class="ttc" id="classop_1_1_w_hand_extractor_net_html"><div class="ttname"><a href="classop_1_1_w_hand_extractor_net.html">op::WHandExtractorNet</a></div><div class="ttdef"><b>Definition:</b> wHandExtractorNet.hpp:11</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_add74785fc0cb1fc7d2c6b5f88b622d53"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">op::WrapperStructOutput::writeBvh</a></div><div class="ttdeci">std::string writeBvh</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:125</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_add74785fc0cb1fc7d2c6b5f88b622d53"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">op::WrapperStructOutput::writeBvh</a></div><div class="ttdeci">std::string writeBvh</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:131</div></div>
<div class="ttc" id="namespaceop_html_ac0230b669b296920c0cfc41b7587268fa0123c3afc0fac5edaf8b1672cb12626c"><div class="ttname"><a href="namespaceop.html#ac0230b669b296920c0cfc41b7587268fa0123c3afc0fac5edaf8b1672cb12626c">op::ProducerFpsMode::OriginalFps</a></div></div>
<div class="ttc" id="wrapper_struct_pose_8hpp_html"><div class="ttname"><a href="wrapper_struct_pose_8hpp.html">wrapperStructPose.hpp</a></div></div>
<div class="ttc" id="classop_1_1_w_face_renderer_html"><div class="ttname"><a href="classop_1_1_w_face_renderer.html">op::WFaceRenderer</a></div><div class="ttdef"><b>Definition:</b> wFaceRenderer.hpp:11</div></div>
@@ -1177,14 +1179,14 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
<div class="ttc" id="classop_1_1_pose_gpu_renderer_html"><div class="ttname"><a href="classop_1_1_pose_gpu_renderer.html">op::PoseGpuRenderer</a></div><div class="ttdef"><b>Definition:</b> poseGpuRenderer.hpp:13</div></div>
<div class="ttc" id="classop_1_1_w_hand_detector_html"><div class="ttname"><a href="classop_1_1_w_hand_detector.html">op::WHandDetector</a></div><div class="ttdef"><b>Definition:</b> wHandDetector.hpp:11</div></div>
<div class="ttc" id="namespaceop_html_af5b3ce2a5d3de87cb31b9b67e96f261fa66ae79a5ac5fa502ae8bbecd3e07e71c"><div class="ttname"><a href="namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa66ae79a5ac5fa502ae8bbecd3e07e71c">op::PoseModel::CAR_12</a></div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a94538578a465c78788760cadb8ea86f6"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6">op::WrapperStructOutput::writeVideoAdam</a></div><div class="ttdeci">std::string writeVideoAdam</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:118</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a94538578a465c78788760cadb8ea86f6"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6">op::WrapperStructOutput::writeVideoAdam</a></div><div class="ttdeci">std::string writeVideoAdam</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:124</div></div>
<div class="ttc" id="namespaceop_html_aa3a3e2acfb27ecbd187d01c8dcd41899"><div class="ttname"><a href="namespaceop.html#aa3a3e2acfb27ecbd187d01c8dcd41899">op::mergeVectors</a></div><div class="ttdeci">std::vector&lt; T &gt; mergeVectors(const std::vector&lt; T &gt; &amp;vectorA, const std::vector&lt; T &gt; &amp;vectorB)</div><div class="ttdef"><b>Definition:</b> standard.hpp:40</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_input_html_ae2078c540324a9cdc8500dce5d361bee"><div class="ttname"><a href="structop_1_1_wrapper_struct_input.html#ae2078c540324a9cdc8500dce5d361bee">op::WrapperStructInput::cameraResolution</a></div><div class="ttdeci">Point&lt; int &gt; cameraResolution</div><div class="ttdef"><b>Definition:</b> wrapperStructInput.hpp:72</div></div>
<div class="ttc" id="namespaceop_html_a5418b76dad5b4aea1133325f4aa715acae9989db5dabeea617f40c8dbfd07f5fb"><div class="ttname"><a href="namespaceop.html#a5418b76dad5b4aea1133325f4aa715acae9989db5dabeea617f40c8dbfd07f5fb">op::CocoJsonFormat::Car</a></div></div>
<div class="ttc" id="namespaceop_html_abc501c56c6cf6cf1989c84b1692cb774a3ebbca1b84060b0caaf823639739945d"><div class="ttname"><a href="namespaceop.html#abc501c56c6cf6cf1989c84b1692cb774a3ebbca1b84060b0caaf823639739945d">op::ProducerProperty::AutoRepeat</a></div></div>
<div class="ttc" id="classop_1_1_w_hand_saver_html"><div class="ttname"><a href="classop_1_1_w_hand_saver.html">op::WHandSaver</a></div><div class="ttdef"><b>Definition:</b> wHandSaver.hpp:12</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_input_html_acd6a460d6c0a64bc818539b67fcafea7"><div class="ttname"><a href="structop_1_1_wrapper_struct_input.html#acd6a460d6c0a64bc818539b67fcafea7">op::WrapperStructInput::producerType</a></div><div class="ttdeci">ProducerType producerType</div><div class="ttdef"><b>Definition:</b> wrapperStructInput.hpp:20</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a73d6a5687ab8abac22f5cd29690b6277"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">op::WrapperStructOutput::writeVideo</a></div><div class="ttdeci">std::string writeVideo</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:93</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a73d6a5687ab8abac22f5cd29690b6277"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">op::WrapperStructOutput::writeVideo</a></div><div class="ttdeci">std::string writeVideo</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:99</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_input_html_a5cffb282052bdd812217e54f0b2ec7d5"><div class="ttname"><a href="structop_1_1_wrapper_struct_input.html#a5cffb282052bdd812217e54f0b2ec7d5">op::WrapperStructInput::frameLast</a></div><div class="ttdeci">unsigned long long frameLast</div><div class="ttdef"><b>Definition:</b> wrapperStructInput.hpp:46</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_extra_html_a08578de8a074415df3e645d3ddb27b8b"><div class="ttname"><a href="structop_1_1_wrapper_struct_extra.html#a08578de8a074415df3e645d3ddb27b8b">op::WrapperStructExtra::identification</a></div><div class="ttdeci">bool identification</div><div class="ttdef"><b>Definition:</b> wrapperStructExtra.hpp:32</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a4e18a93cfa9c6b47151427152a745817"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">op::WrapperStructOutput::displayMode</a></div><div class="ttdeci">DisplayMode displayMode</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:25</div></div>
@@ -1203,7 +1205,7 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
<div class="ttc" id="macros_8hpp_html_a4ba443bb7a0e5dbe8054a9ac37a5e000"><div class="ttname"><a href="macros_8hpp.html#a4ba443bb7a0e5dbe8054a9ac37a5e000">OP_API</a></div><div class="ttdeci">#define OP_API</div><div class="ttdef"><b>Definition:</b> macros.hpp:18</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_face_html_a982e3f1a13358a522e1882d17cb80d57"><div class="ttname"><a href="structop_1_1_wrapper_struct_face.html#a982e3f1a13358a522e1882d17cb80d57">op::WrapperStructFace::renderThreshold</a></div><div class="ttdeci">float renderThreshold</div><div class="ttdef"><b>Definition:</b> wrapperStructFace.hpp:54</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_input_html_a86df98e50b680b30afe100d8b2b50685"><div class="ttname"><a href="structop_1_1_wrapper_struct_input.html#a86df98e50b680b30afe100d8b2b50685">op::WrapperStructInput::frameRotate</a></div><div class="ttdeci">int frameRotate</div><div class="ttdef"><b>Definition:</b> wrapperStructInput.hpp:62</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_aba2aed26f1d01771a0c896bc50e477a5"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">op::WrapperStructOutput::writeImagesFormat</a></div><div class="ttdeci">std::string writeImagesFormat</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:86</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_aba2aed26f1d01771a0c896bc50e477a5"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">op::WrapperStructOutput::writeImagesFormat</a></div><div class="ttdeci">std::string writeImagesFormat</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:92</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_input_html_acc72b8efe09ec3888823ed5680a19fe4"><div class="ttname"><a href="structop_1_1_wrapper_struct_input.html#acc72b8efe09ec3888823ed5680a19fe4">op::WrapperStructInput::frameFirst</a></div><div class="ttdeci">unsigned long long frameFirst</div><div class="ttdef"><b>Definition:</b> wrapperStructInput.hpp:33</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:14</div></div>
<div class="ttc" id="namespaceop_html_adc43fb9031418e7f8112816a3b535d14a655d20c1ca69519ca647684edbb2db35"><div class="ttname"><a href="namespaceop.html#adc43fb9031418e7f8112816a3b535d14a655d20c1ca69519ca647684edbb2db35">op::Priority::High</a></div></div>
+45 -42
View File
@@ -134,66 +134,69 @@ $(document).ready(function(){initNavTree('wrapper_struct_output_8hpp_source.html
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74"> 72</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74">writeCocoFootJson</a>;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85"> 78</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85">writeImages</a>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de"> 78</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de">writeCocoJsonVariant</a>;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5"> 86</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">writeImagesFormat</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277"> 93</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">writeVideo</a>;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc"> 100</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc">writeHeatMaps</a>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056"> 106</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056">writeHeatMapsFormat</a>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85"> 84</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85">writeImages</a>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5"> 92</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">writeImagesFormat</a>;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277"> 99</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">writeVideo</a>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc"> 106</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc">writeHeatMaps</a>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505"> 111</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">writeVideoFps</a>;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6"> 118</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6">writeVideoAdam</a>;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53"> 125</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">writeBvh</a>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117"> 130</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117">udpHost</a>;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c"> 135</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c">udpPort</a>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="structop_1_1_wrapper_struct_output.html">WrapperStructOutput</a>(<span class="keyword">const</span> <a class="code" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6">DisplayMode</a> displayMode = <a class="code" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a28b652e57d2da6b7c939166be21efd9a">DisplayMode::NoDisplay</a>, <span class="keyword">const</span> <span class="keywordtype">bool</span> guiVerbose = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> fullScreen = <span class="keyword">false</span>, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeKeypoint = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7e">DataFormat</a> writeKeypointFormat = <a class="code" href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7ea9ec8e4e3ab4c7eeba097f27d7364d743">DataFormat::Xml</a>,</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeJson = <span class="stringliteral">&quot;&quot;</span>, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeCocoJson = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeCocoFootJson = <span class="stringliteral">&quot;&quot;</span>, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeImages = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeImagesFormat = <span class="stringliteral">&quot;&quot;</span>, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeVideo = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">const</span> <span class="keywordtype">double</span> writeVideoFps = 30., <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeHeatMaps = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeHeatMapsFormat = <span class="stringliteral">&quot;&quot;</span>, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeVideoAdam = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeBvh = <span class="stringliteral">&quot;&quot;</span>, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; udpHost = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; udpPort = <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; };</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;}</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="preprocessor">#endif // OPENPOSE_WRAPPER_WRAPPER_STRUCT_OUTPUT_HPP</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056"> 112</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056">writeHeatMapsFormat</a>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505"> 117</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">writeVideoFps</a>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6"> 124</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6">writeVideoAdam</a>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53"> 131</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">writeBvh</a>;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117"> 136</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117">udpHost</a>;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c"> 141</a></span>&#160; <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a> <a class="code" href="structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c">udpPort</a>;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="structop_1_1_wrapper_struct_output.html">WrapperStructOutput</a>(<span class="keyword">const</span> <a class="code" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6">DisplayMode</a> displayMode = <a class="code" href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a28b652e57d2da6b7c939166be21efd9a">DisplayMode::NoDisplay</a>, <span class="keyword">const</span> <span class="keywordtype">bool</span> guiVerbose = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> fullScreen = <span class="keyword">false</span>, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeKeypoint = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7e">DataFormat</a> writeKeypointFormat = <a class="code" href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7ea9ec8e4e3ab4c7eeba097f27d7364d743">DataFormat::Xml</a>,</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeJson = <span class="stringliteral">&quot;&quot;</span>, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeCocoJson = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeCocoFootJson = <span class="stringliteral">&quot;&quot;</span>, <span class="keyword">const</span> <span class="keywordtype">int</span> writeCocoJsonVariant = 1,</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeImages = <span class="stringliteral">&quot;&quot;</span>, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeImagesFormat = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeVideo = <span class="stringliteral">&quot;&quot;</span>, <span class="keyword">const</span> <span class="keywordtype">double</span> writeVideoFps = 30.,</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeHeatMaps = <span class="stringliteral">&quot;&quot;</span>, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeHeatMapsFormat = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeVideoAdam = <span class="stringliteral">&quot;&quot;</span>, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; writeBvh = <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; udpHost = <span class="stringliteral">&quot;&quot;</span>, <span class="keyword">const</span> <a class="code" href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">std::string</a>&amp; udpPort = <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; };</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;}</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="preprocessor">#endif // OPENPOSE_WRAPPER_WRAPPER_STRUCT_OUTPUT_HPP</span></div>
<div class="ttc" id="namespaceop_html_ae52707752b1872b39f0306cc4f6c6ae6a28b652e57d2da6b7c939166be21efd9a"><div class="ttname"><a href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6a28b652e57d2da6b7c939166be21efd9a">op::DisplayMode::NoDisplay</a></div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a0119bb7429483928c587ffaf607919de"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a0119bb7429483928c587ffaf607919de">op::WrapperStructOutput::writeCocoJsonVariant</a></div><div class="ttdeci">int writeCocoJsonVariant</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:78</div></div>
<div class="ttc" id="gui_2enum_classes_8hpp_html"><div class="ttname"><a href="gui_2enum_classes_8hpp.html">enumClasses.hpp</a></div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_ac72ad601daf957b9b000206e9f1fe0ad"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#ac72ad601daf957b9b000206e9f1fe0ad">op::WrapperStructOutput::guiVerbose</a></div><div class="ttdeci">bool guiVerbose</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:31</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a34d5796e02b8afaaaef99fc26e7f3056"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056">op::WrapperStructOutput::writeHeatMapsFormat</a></div><div class="ttdeci">std::string writeHeatMapsFormat</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:106</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a34d5796e02b8afaaaef99fc26e7f3056"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a34d5796e02b8afaaaef99fc26e7f3056">op::WrapperStructOutput::writeHeatMapsFormat</a></div><div class="ttdeci">std::string writeHeatMapsFormat</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:112</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_ad9ca696781cb7c250752f078f5c937fc"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#ad9ca696781cb7c250752f078f5c937fc">op::WrapperStructOutput::writeKeypoint</a></div><div class="ttdeci">std::string writeKeypoint</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:44</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_ad595edffced2bfd80c3bee183f32f505"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">op::WrapperStructOutput::writeVideoFps</a></div><div class="ttdeci">double writeVideoFps</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:111</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_aec3a7ec85be0779930427ba3e806ea2c"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c">op::WrapperStructOutput::udpPort</a></div><div class="ttdeci">std::string udpPort</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:135</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a5f56c15d410645442b5ac21c316b9c85"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85">op::WrapperStructOutput::writeImages</a></div><div class="ttdeci">std::string writeImages</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:78</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_ad595edffced2bfd80c3bee183f32f505"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505">op::WrapperStructOutput::writeVideoFps</a></div><div class="ttdeci">double writeVideoFps</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:117</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_aec3a7ec85be0779930427ba3e806ea2c"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c">op::WrapperStructOutput::udpPort</a></div><div class="ttdeci">std::string udpPort</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:141</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a5f56c15d410645442b5ac21c316b9c85"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a5f56c15d410645442b5ac21c316b9c85">op::WrapperStructOutput::writeImages</a></div><div class="ttdeci">std::string writeImages</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:84</div></div>
<div class="ttc" id="namespaceop_html_ae52c21a24cf2c21e3b419c127924fd7e"><div class="ttname"><a href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7e">op::DataFormat</a></div><div class="ttdeci">DataFormat</div><div class="ttdef"><b>Definition:</b> enumClasses.hpp:6</div></div>
<div class="ttc" id="namespaceop_html_ae52c21a24cf2c21e3b419c127924fd7ea9ec8e4e3ab4c7eeba097f27d7364d743"><div class="ttname"><a href="namespaceop.html#ae52c21a24cf2c21e3b419c127924fd7ea9ec8e4e3ab4c7eeba097f27d7364d743">op::DataFormat::Xml</a></div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_adca0d08aa43e2280ca06a8db0deb81bc"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc">op::WrapperStructOutput::writeHeatMaps</a></div><div class="ttdeci">std::string writeHeatMaps</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:100</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_adca0d08aa43e2280ca06a8db0deb81bc"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#adca0d08aa43e2280ca06a8db0deb81bc">op::WrapperStructOutput::writeHeatMaps</a></div><div class="ttdeci">std::string writeHeatMaps</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:106</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a6efbd77da8ebcea3abc4109bb2f39c0b"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a6efbd77da8ebcea3abc4109bb2f39c0b">op::WrapperStructOutput::writeCocoJson</a></div><div class="ttdeci">std::string writeCocoJson</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:67</div></div>
<div class="ttc" id="namespaceop_html_ae52707752b1872b39f0306cc4f6c6ae6"><div class="ttname"><a href="namespaceop.html#ae52707752b1872b39f0306cc4f6c6ae6">op::DisplayMode</a></div><div class="ttdeci">DisplayMode</div><div class="ttdef"><b>Definition:</b> enumClasses.hpp:10</div></div>
<div class="ttc" id="common_8hpp_html"><div class="ttname"><a href="common_8hpp.html">common.hpp</a></div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_aaf5df884418d2bf1df36505009264ece"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#aaf5df884418d2bf1df36505009264ece">op::WrapperStructOutput::fullScreen</a></div><div class="ttdeci">bool fullScreen</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:37</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a92040f009e2f9344037d93d6442ce117"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117">op::WrapperStructOutput::udpHost</a></div><div class="ttdeci">std::string udpHost</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:130</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a92040f009e2f9344037d93d6442ce117"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117">op::WrapperStructOutput::udpHost</a></div><div class="ttdeci">std::string udpHost</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:136</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_ad338fd4719d6f243bb64bc67f68bc7c9"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#ad338fd4719d6f243bb64bc67f68bc7c9">op::WrapperStructOutput::writeKeypointFormat</a></div><div class="ttdeci">DataFormat writeKeypointFormat</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:51</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_aaadbe4f8f765a751973ed1b405843c74"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#aaadbe4f8f765a751973ed1b405843c74">op::WrapperStructOutput::writeCocoFootJson</a></div><div class="ttdeci">std::string writeCocoFootJson</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:72</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_add74785fc0cb1fc7d2c6b5f88b622d53"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">op::WrapperStructOutput::writeBvh</a></div><div class="ttdeci">std::string writeBvh</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:125</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_add74785fc0cb1fc7d2c6b5f88b622d53"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#add74785fc0cb1fc7d2c6b5f88b622d53">op::WrapperStructOutput::writeBvh</a></div><div class="ttdeci">std::string writeBvh</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:131</div></div>
<div class="ttc" id="filestream_2enum_classes_8hpp_html"><div class="ttname"><a href="filestream_2enum_classes_8hpp.html">enumClasses.hpp</a></div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a8a2f29bae4ff55195b10a83717a0f738"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a8a2f29bae4ff55195b10a83717a0f738">op::WrapperStructOutput::writeJson</a></div><div class="ttdeci">std::string writeJson</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:61</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a94538578a465c78788760cadb8ea86f6"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6">op::WrapperStructOutput::writeVideoAdam</a></div><div class="ttdeci">std::string writeVideoAdam</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:118</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a73d6a5687ab8abac22f5cd29690b6277"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">op::WrapperStructOutput::writeVideo</a></div><div class="ttdeci">std::string writeVideo</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:93</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a94538578a465c78788760cadb8ea86f6"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6">op::WrapperStructOutput::writeVideoAdam</a></div><div class="ttdeci">std::string writeVideoAdam</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:124</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a73d6a5687ab8abac22f5cd29690b6277"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277">op::WrapperStructOutput::writeVideo</a></div><div class="ttdeci">std::string writeVideo</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:99</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_a4e18a93cfa9c6b47151427152a745817"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#a4e18a93cfa9c6b47151427152a745817">op::WrapperStructOutput::displayMode</a></div><div class="ttdeci">DisplayMode displayMode</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:25</div></div>
<div class="ttc" id="macros_8hpp_html_a4ba443bb7a0e5dbe8054a9ac37a5e000"><div class="ttname"><a href="macros_8hpp.html#a4ba443bb7a0e5dbe8054a9ac37a5e000">OP_API</a></div><div class="ttdeci">#define OP_API</div><div class="ttdef"><b>Definition:</b> macros.hpp:18</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_aba2aed26f1d01771a0c896bc50e477a5"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">op::WrapperStructOutput::writeImagesFormat</a></div><div class="ttdeci">std::string writeImagesFormat</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:86</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html_aba2aed26f1d01771a0c896bc50e477a5"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html#aba2aed26f1d01771a0c896bc50e477a5">op::WrapperStructOutput::writeImagesFormat</a></div><div class="ttdeci">std::string writeImagesFormat</div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:92</div></div>
<div class="ttc" id="structop_1_1_wrapper_struct_output_html"><div class="ttname"><a href="structop_1_1_wrapper_struct_output.html">op::WrapperStructOutput</a></div><div class="ttdef"><b>Definition:</b> wrapperStructOutput.hpp:14</div></div>
<div class="ttc" id="namespacecl_html_abff80bfb254d646f6afeb6638df41686"><div class="ttname"><a href="namespacecl.html#abff80bfb254d646f6afeb6638df41686">cl::string</a></div><div class="ttdeci">std::string string</div><div class="ttdef"><b>Definition:</b> cl2.hpp:574</div></div>
</div><!-- fragment --></div><!-- contents -->