FlirCamera |
Stereo FLIR (Point-Grey) camera reader. Based on Spinnaker SDK.
@@ -2182,14 +2191,14 @@ template<typename TPointerContainer >
-
+
op::COMPILE_TEMPLATE_DATUM |
( |
- WorkerConsumer |
+ WorkerProducer |
| ) |
|
@@ -2198,14 +2207,14 @@ template<typename TPointerContainer >
-
+
op::COMPILE_TEMPLATE_DATUM |
( |
- WorkerProducer |
+ WorkerConsumer |
| ) |
|
@@ -2294,14 +2303,14 @@ template<typename TPointerContainer >
-
+
op::COMPILE_TEMPLATE_DATUM |
( |
- WHandDetectorTracking |
+ WHandDetectorFromTxt |
| ) |
|
@@ -2310,14 +2319,14 @@ template<typename TPointerContainer >
-
+
op::COMPILE_TEMPLATE_DATUM |
( |
- WHandDetectorFromTxt |
+ WHandDetectorTracking |
| ) |
|
@@ -3322,6 +3331,63 @@ template<typename T >
+
+
+
+
+
+
+
+ OP_API std::shared_ptr<Producer> op::createProducer |
+ ( |
+ const ProducerType |
+ producerType = ProducerType::None , |
+
+
+ |
+ |
+ const std::string & |
+ producerString = "" , |
+
+
+ |
+ |
+ const Point< int > & |
+ cameraResolution = Point< int >{-1,-1} , |
+
+
+ |
+ |
+ const double |
+ webcamFps = 30. , |
+
+
+ |
+ |
+ const std::string & |
+ cameraParameterPath = "models/cameraParameters/" , |
+
+
+ |
+ |
+ const bool |
+ undistortImage = true , |
+
+
+ |
+ |
+ const unsigned int |
+ imageDirectoryStereo = -1 |
+
+
+ |
+ ) |
+ | |
+
+
+
+ This function returns the desired producer given the input parameters.
+
@@ -3998,12 +4064,12 @@ template<class T >
-
+
- OP_API std::shared_ptr<Producer> op::flagsToProducer |
+ OP_API std::pair<ProducerType, std::string> op::flagsToProducer |
( |
const std::string & |
imageDirectory, |
@@ -4018,13 +4084,13 @@ template<class T >
|
|
const std::string & |
- ipCameraPath, |
+ ipCameraPath = "" , |
|
|
const int |
- webcamIndex, |
+ webcamIndex = -1 , |
|
@@ -4032,36 +4098,6 @@ template<class T >
const bool |
flirCamera = false , |
-
- |
- |
- const std::string & |
- cameraResolution = "-1x-1" , |
-
-
- |
- |
- const double |
- webcamFps = 30. , |
-
-
- |
- |
- const std::string & |
- cameraParameterPath = "models/cameraParameters/" , |
-
-
- |
- |
- const bool |
- undistortImage = true , |
-
-
- |
- |
- const unsigned int |
- imageDirectoryStereo = 1 , |
-
|
|
@@ -7852,7 +7888,7 @@ template<typename T >
-
+
@@ -7904,6 +7940,12 @@ template<typename T >
const bool |
userOutputWsEmpty, |
+
+ |
+ |
+ const std::shared_ptr< Producer > & |
+ producerSharedPtr, |
+
|
|
@@ -7928,6 +7970,7 @@ template<typename T >
wrapperStructOutput | |
renderOutput | |
userOutputWsEmpty | |
+ producerSharedPtr | |
threadManagerMode | |
diff --git a/html/navtree.js b/html/navtree.js
index cbf925299a65bbe39536f8047791b015edc9b9eb..11ba62197348629e001829341a0edd20a8ea2c05 100644
--- a/html/navtree.js
+++ b/html/navtree.js
@@ -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#ae52707752b1872b39f0306cc4f6c6ae6",
-"pose_parameters_8hpp.html#aab3de911b04b96c1850cc05c6947e184",
-"structop_1_1_point.html#aa902ce5b63f3cb8b8b0b04e2f40288fe",
-"w_people_json_saver_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"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/html/navtreeindex10.js b/html/navtreeindex10.js
index 9ee10b9e29d2298b7ae8db7179416e9b0d7ea547..f463c14983ca6a4e88f2980d691f75f941909c90 100644
--- a/html/navtreeindex10.js
+++ b/html/navtreeindex10.js
@@ -1,5 +1,14 @@
var NAVTREEINDEX10 =
{
+"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],
+"w_keypoint_scaler_8hpp.html":[2,0,0,0,2,19],
+"w_keypoint_scaler_8hpp.html#a47758c703fccdbb65c26dc7bc4022237":[2,0,0,0,2,19,1],
+"w_keypoint_scaler_8hpp_source.html":[2,0,0,0,2,19],
+"w_op_output_to_cv_mat_8hpp.html":[2,0,0,0,2,20],
+"w_op_output_to_cv_mat_8hpp.html#a1d9f50688522ed7368acc33a09ae9ece":[2,0,0,0,2,20,1],
+"w_op_output_to_cv_mat_8hpp_source.html":[2,0,0,0,2,20],
"w_people_json_saver_8hpp.html":[2,0,0,0,4,19],
"w_people_json_saver_8hpp.html#a774871462f7fefb8cadea1e49f501e45":[2,0,0,0,4,19,1],
"w_people_json_saver_8hpp_source.html":[2,0,0,0,4,19],
@@ -61,7 +70,7 @@ var NAVTREEINDEX10 =
"wrapper_auxiliary_8hpp.html":[2,0,0,0,14,3],
"wrapper_auxiliary_8hpp.html#a14617fc3e3e147e3b5887a172028eae0":[2,0,0,0,14,3,0],
"wrapper_auxiliary_8hpp.html#a2339f5d601d330ee9c8c3d57acee8bf2":[2,0,0,0,14,3,1],
-"wrapper_auxiliary_8hpp.html#aa09218bc02738455b92fb20b47b0e1a7":[2,0,0,0,14,3,3],
+"wrapper_auxiliary_8hpp.html#a8d9107e83f9cbc69f195199f0aef4385":[2,0,0,0,14,3,3],
"wrapper_auxiliary_8hpp.html#af65a4564afcad06b72468679f6bee52b":[2,0,0,0,14,3,2],
"wrapper_auxiliary_8hpp_source.html":[2,0,0,0,14,3],
"wrapper_struct_extra_8hpp.html":[2,0,0,0,14,4],
diff --git a/html/navtreeindex6.js b/html/navtreeindex6.js
index 1025c7c2cac27647d95dbeee32918e6f5cbdb453..e68486c42a62a7e02709fe37ab138460b033d7e1 100644
--- a/html/navtreeindex6.js
+++ b/html/navtreeindex6.js
@@ -48,9 +48,11 @@ var NAVTREEINDEX6 =
"file_system_8hpp_source.html":[2,0,0,0,13,4],
"files.html":[2,0],
"filestream_2enum_classes_8hpp.html":[2,0,0,0,4,2],
-"filestream_2enum_classes_8hpp.html#abc02b50eb41d637d862e6af74bc9b3cc":[2,0,0,0,4,2,0],
-"filestream_2enum_classes_8hpp.html#abc02b50eb41d637d862e6af74bc9b3cca129e74dde7b475c8848310e16754c965":[2,0,0,0,4,2,0,1],
-"filestream_2enum_classes_8hpp.html#abc02b50eb41d637d862e6af74bc9b3ccaac101b32dda4448cf13a93fe283dddd8":[2,0,0,0,4,2,0,0],
+"filestream_2enum_classes_8hpp.html#a5418b76dad5b4aea1133325f4aa715ac":[2,0,0,0,4,2,0],
+"filestream_2enum_classes_8hpp.html#a5418b76dad5b4aea1133325f4aa715aca129e74dde7b475c8848310e16754c965":[2,0,0,0,4,2,0,1],
+"filestream_2enum_classes_8hpp.html#a5418b76dad5b4aea1133325f4aa715aca6f6cb72d544962fa333e2e34ce64f719":[2,0,0,0,4,2,0,3],
+"filestream_2enum_classes_8hpp.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8":[2,0,0,0,4,2,0,0],
+"filestream_2enum_classes_8hpp.html#a5418b76dad5b4aea1133325f4aa715acae9989db5dabeea617f40c8dbfd07f5fb":[2,0,0,0,4,2,0,2],
"filestream_2enum_classes_8hpp.html#ae52c21a24cf2c21e3b419c127924fd7e":[2,0,0,0,4,2,1],
"filestream_2enum_classes_8hpp.html#ae52c21a24cf2c21e3b419c127924fd7ea55eeca17b45365c188d0edbd35f6e0c3":[2,0,0,0,4,2,1,3],
"filestream_2enum_classes_8hpp.html#ae52c21a24cf2c21e3b419c127924fd7ea65f6036bfc9798ce230c5d8567551315":[2,0,0,0,4,2,1,2],
@@ -142,12 +144,12 @@ var NAVTREEINDEX6 =
"flags_8hpp.html#aff61246512375ff5941dc4110e127ca3":[2,0,0,0,15,56],
"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#a0665c10c4afd960dac5746aaf967200a":[2,0,0,0,13,5,5],
"flags_to_open_pose_8hpp.html#a1fbdd7c33f90d0237582c9441162a7d8":[2,0,0,0,13,5,6],
"flags_to_open_pose_8hpp.html#a70f65da8f70ebd07b093932927187c90":[2,0,0,0,13,5,7],
"flags_to_open_pose_8hpp.html#a7961cb2fd04f59cbcd40df5872f12fd7":[2,0,0,0,13,5,3],
"flags_to_open_pose_8hpp.html#aa4a6fee7ba2cc543739477e9c1d64136":[2,0,0,0,13,5,2],
"flags_to_open_pose_8hpp.html#ac3bebe88bedbd7785d48159c8e3f0515":[2,0,0,0,13,5,8],
+"flags_to_open_pose_8hpp.html#ac5928fbe1f41a1f6e49bfdb82ee831e3":[2,0,0,0,13,5,5],
"flags_to_open_pose_8hpp.html#ad3b02ca66d11f4129372f4a9f98c6437":[2,0,0,0,13,5,1],
"flags_to_open_pose_8hpp.html#aed592469f254f31c2356d4628f75aaea":[2,0,0,0,13,5,4],
"flags_to_open_pose_8hpp.html#afdf2dd76cbae54789a139d9415790f82":[2,0,0,0,13,5,0],
@@ -247,7 +249,5 @@ var NAVTREEINDEX6 =
"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#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#a6c22a72ce93c64e7582cb670492a50bf":[2,0,0,0,6,0,1]
};
diff --git a/html/navtreeindex7.js b/html/navtreeindex7.js
index b76239d2b75b1610be3463e71368c00f57794989..4fd32b2d09b78b2209b6426999f2ec5dc693277a 100644
--- a/html/navtreeindex7.js
+++ b/html/navtreeindex7.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX7 =
{
+"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],
"gui_2enum_classes_8hpp.html#ae52707752b1872b39f0306cc4f6c6ae6a105036ef087117869f656cd72bfd8dd6":[2,0,0,0,6,0,0,1],
"gui_2enum_classes_8hpp.html#ae52707752b1872b39f0306cc4f6c6ae6a28b652e57d2da6b7c939166be21efd9a":[2,0,0,0,6,0,0,0],
@@ -105,12 +107,12 @@ var NAVTREEINDEX7 =
"namespaceboost.html":[1,0,0],
"namespacecaffe.html":[1,0,1],
"namespacecaffe.html":[0,0,1],
-"namespacecl.html":[1,0,2],
"namespacecl.html":[0,0,2],
+"namespacecl.html":[1,0,2],
"namespacecl_1_1compatibility.html":[1,0,2,0],
"namespacecl_1_1compatibility.html":[0,0,2,0],
-"namespacecl_1_1detail.html":[0,0,2,1],
"namespacecl_1_1detail.html":[1,0,2,1],
+"namespacecl_1_1detail.html":[0,0,2,1],
"namespacemembers.html":[0,1,0,0],
"namespacemembers.html":[0,1,0],
"namespacemembers_b.html":[0,1,0,1],
@@ -160,8 +162,8 @@ var NAVTREEINDEX7 =
"namespacemembers_x.html":[0,1,0,22],
"namespacemembers_y.html":[0,1,0,23],
"namespacemembers_z.html":[0,1,0,24],
-"namespaceop.html":[0,0,3],
"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_log.html":[1,0,3,1],
@@ -247,7 +249,5 @@ var NAVTREEINDEX7 =
"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#a84d87ec0e4ed3cf75a37ce99d0d25ef7":[2,0,0,0,9,7,6],
-"pose_parameters_8hpp.html#aa170c3107396e4d0e4214bb0c1b78f08":[2,0,0,0,9,7,5]
+"pose_parameters_8hpp.html#a692472b562fba051964f9ddea07b97d7":[2,0,0,0,9,7,2]
};
diff --git a/html/navtreeindex8.js b/html/navtreeindex8.js
index e9ef04f913ab87fa3cd0c0b3cbbb9b039454b608..16c6a7ce9e34b9861724529d571f88cf262176e2 100644
--- a/html/navtreeindex8.js
+++ b/html/navtreeindex8.js
@@ -1,5 +1,7 @@
var NAVTREEINDEX8 =
{
+"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],
"pose_parameters_8hpp.html#aacf6e688031bb116e4878b811e8dbc23":[2,0,0,0,9,7,14],
"pose_parameters_8hpp.html#ab48e314ecd19f55f664b14da1d83312f":[2,0,0,0,9,7,7],
@@ -71,6 +73,7 @@ var NAVTREEINDEX8 =
"producer_2headers_8hpp.html":[2,0,0,0,10,3],
"producer_2headers_8hpp_source.html":[2,0,0,0,10,3],
"producer_8hpp.html":[2,0,0,0,10,6],
+"producer_8hpp.html#aff1530aa4f78f3c55b7df9b452ceee94":[2,0,0,0,10,6,1],
"producer_8hpp_source.html":[2,0,0,0,10,6],
"profiler_8hpp.html":[2,0,0,0,13,10],
"profiler_8hpp_source.html":[2,0,0,0,13,10],
@@ -246,8 +249,5 @@ var NAVTREEINDEX8 =
"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#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]
+"structop_1_1_point.html#a9759f95e852025014cb071aefb242cef":[1,0,3,13,5]
};
diff --git a/html/navtreeindex9.js b/html/navtreeindex9.js
index 94eac915a299f16d7136ed85bc941dd244992680..3157968a621d93d264e5a78f36e141184ecc874d 100644
--- a/html/navtreeindex9.js
+++ b/html/navtreeindex9.js
@@ -1,5 +1,8 @@
var NAVTREEINDEX9 =
{
+"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],
"structop_1_1_point.html#aa902ce5b63f3cb8b8b0b04e2f40288fe":[1,0,3,13,15],
"structop_1_1_point.html#aabc0dee51a101fefbf1fdcd56f54b48c":[1,0,3,13,11],
"structop_1_1_point.html#aada0e9eecee2fb30fb903b32f9f33047":[1,0,3,13,19],
@@ -60,15 +63,21 @@ var NAVTREEINDEX9 =
"structop_1_1_wrapper_struct_hand.html#adaea15e182e5c75129293873cd94e35f":[1,0,3,124,7],
"structop_1_1_wrapper_struct_hand.html#aea6263dc96708b11fab72416d810b3d6":[1,0,3,124,8],
"structop_1_1_wrapper_struct_input.html":[1,0,3,125],
-"structop_1_1_wrapper_struct_input.html#a2eeea9ee711a1dcbec99c3dc871fbc47":[1,0,3,125,8],
-"structop_1_1_wrapper_struct_input.html#a5cffb282052bdd812217e54f0b2ec7d5":[1,0,3,125,3],
-"structop_1_1_wrapper_struct_input.html#a5ee9722814fe2b5a695511cabd12b613":[1,0,3,125,2],
-"structop_1_1_wrapper_struct_input.html#a67d604b247a6ff54682b009c42ad61e2":[1,0,3,125,0],
-"structop_1_1_wrapper_struct_input.html#a7c80f6a3687696ba30d3ce0902ac162f":[1,0,3,125,5],
-"structop_1_1_wrapper_struct_input.html#a86df98e50b680b30afe100d8b2b50685":[1,0,3,125,4],
-"structop_1_1_wrapper_struct_input.html#ac4349e123d359f436cc01d4068231dc2":[1,0,3,125,6],
-"structop_1_1_wrapper_struct_input.html#acc72b8efe09ec3888823ed5680a19fe4":[1,0,3,125,1],
-"structop_1_1_wrapper_struct_input.html#adb77e57fd11db9950d9754a2c8c8eaa5":[1,0,3,125,7],
+"structop_1_1_wrapper_struct_input.html#a03e5628a93671e1d771b3080d3c4f1e7":[1,0,3,125,10],
+"structop_1_1_wrapper_struct_input.html#a2eeea9ee711a1dcbec99c3dc871fbc47":[1,0,3,125,12],
+"structop_1_1_wrapper_struct_input.html#a49970fa2a3e14394ac49c1f0679c72f5":[1,0,3,125,14],
+"structop_1_1_wrapper_struct_input.html#a529d945c83bb69ac1db7b8db371e6622":[1,0,3,125,0],
+"structop_1_1_wrapper_struct_input.html#a5cffb282052bdd812217e54f0b2ec7d5":[1,0,3,125,5],
+"structop_1_1_wrapper_struct_input.html#a5ee9722814fe2b5a695511cabd12b613":[1,0,3,125,4],
+"structop_1_1_wrapper_struct_input.html#a7c80f6a3687696ba30d3ce0902ac162f":[1,0,3,125,7],
+"structop_1_1_wrapper_struct_input.html#a86df98e50b680b30afe100d8b2b50685":[1,0,3,125,6],
+"structop_1_1_wrapper_struct_input.html#a92597a68a61c6a1a3f4c09c8dfe5819f":[1,0,3,125,9],
+"structop_1_1_wrapper_struct_input.html#ac4349e123d359f436cc01d4068231dc2":[1,0,3,125,8],
+"structop_1_1_wrapper_struct_input.html#aca3c35d7835493bbaf1dee26ee7a9bbd":[1,0,3,125,1],
+"structop_1_1_wrapper_struct_input.html#acc72b8efe09ec3888823ed5680a19fe4":[1,0,3,125,3],
+"structop_1_1_wrapper_struct_input.html#acd6a460d6c0a64bc818539b67fcafea7":[1,0,3,125,11],
+"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],
@@ -240,14 +249,5 @@ var NAVTREEINDEX9 =
"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_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],
-"w_keypoint_scaler_8hpp.html":[2,0,0,0,2,19],
-"w_keypoint_scaler_8hpp.html#a47758c703fccdbb65c26dc7bc4022237":[2,0,0,0,2,19,1],
-"w_keypoint_scaler_8hpp_source.html":[2,0,0,0,2,19],
-"w_op_output_to_cv_mat_8hpp.html":[2,0,0,0,2,20],
-"w_op_output_to_cv_mat_8hpp.html#a1d9f50688522ed7368acc33a09ae9ece":[2,0,0,0,2,20,1],
-"w_op_output_to_cv_mat_8hpp_source.html":[2,0,0,0,2,20]
+"w_joint_angle_estimation_8hpp_source.html":[2,0,0,0,0,4]
};
diff --git a/html/producer_2enum_classes_8hpp_source.html b/html/producer_2enum_classes_8hpp_source.html
index fea48ef399c2ed5847671bc7c1c85e9e962ebbeb..397fbde0e45fe2ac039039ad468a66b9a1232fb2 100644
--- a/html/producer_2enum_classes_8hpp_source.html
+++ b/html/producer_2enum_classes_8hpp_source.html
@@ -114,37 +114,37 @@ $(document).ready(function(){initNavTree('producer_2enum_classes_8hpp_source.htm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 37 #endif // OPENPOSE_PRODUCER_ENUM_CLASSES_HPP
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 47 #endif // OPENPOSE_PRODUCER_ENUM_CLASSES_HPP
ProducerFpsMode Definition: enumClasses.hpp:6
- ProducerProperty Definition: enumClasses.hpp:12
+ ProducerProperty Definition: enumClasses.hpp:14
@@ -154,7 +154,7 @@ $(document).ready(function(){initNavTree('producer_2enum_classes_8hpp_source.htm
- ProducerType Definition: enumClasses.hpp:26
+ ProducerType Definition: enumClasses.hpp:28
diff --git a/html/producer_8hpp.html b/html/producer_8hpp.html
index bc9f25b375355dfdd18844c32b1f891669f56f05..fca27cf5bf735576a6711be5a3dad1ec5e103c82 100644
--- a/html/producer_8hpp.html
+++ b/html/producer_8hpp.html
@@ -105,7 +105,8 @@ $(document).ready(function(){initNavTree('producer_8hpp.html','');});
@@ -126,6 +127,11 @@ Classes
Namespaces
| op |
|
+
+ |
+OP_API std::shared_ptr< Producer > | op::createProducer (const ProducerType producerType=ProducerType::None, const std::string &producerString="", const Point< int > &cameraResolution=Point< int >{-1,-1}, const double webcamFps=30., const std::string &cameraParameterPath="models/cameraParameters/", const bool undistortImage=true, const unsigned int imageDirectoryStereo=-1) |
+ |
diff --git a/html/producer_8hpp.js b/html/producer_8hpp.js
new file mode 100644
index 0000000000000000000000000000000000000000..740095e16d29973ac0a81777bb63efa729bb129f
--- /dev/null
+++ b/html/producer_8hpp.js
@@ -0,0 +1,5 @@
+var producer_8hpp =
+[
+ [ "Producer", "classop_1_1_producer.html", "classop_1_1_producer" ],
+ [ "createProducer", "producer_8hpp.html#aff1530aa4f78f3c55b7df9b452ceee94", null ]
+];
\ No newline at end of file
diff --git a/html/producer_8hpp_source.html b/html/producer_8hpp_source.html
index 96c7f71a99d3b5e9c776eee962068c4e1349379b..db83e57778c2b22c754b9d0c64c6c9860592317f 100644
--- a/html/producer_8hpp_source.html
+++ b/html/producer_8hpp_source.html
@@ -182,16 +182,24 @@ $(document).ready(function(){initNavTree('producer_8hpp_source.html','');});
-
-
- 183 #endif // OPENPOSE_PRODUCER_PRODUCER_HPP
+
+
+
+ 187 const Point<int>& cameraResolution = Point<int>{-1,-1}, const double webcamFps = 30.,
+ 188 const std::string& cameraParameterPath = "models/cameraParameters/", const bool undistortImage = true,
+ 189 const unsigned int imageDirectoryStereo = -1);
+
+
+ 192 #endif // OPENPOSE_PRODUCER_PRODUCER_HPP
#define DELETE_COPY(className) Definition: macros.hpp:33
+
+OP_API std::shared_ptr< Producer > createProducer(const ProducerType producerType=ProducerType::None, const std::string &producerString="", const Point< int > &cameraResolution=Point< int >{-1,-1}, const double webcamFps=30., const std::string &cameraParameterPath="models/cameraParameters/", const bool undistortImage=true, const unsigned int imageDirectoryStereo=-1)
ProducerFpsMode Definition: enumClasses.hpp:6
-ProducerProperty Definition: enumClasses.hpp:12
+ProducerProperty Definition: enumClasses.hpp:14
Definition: producer.hpp:15
ProducerType getType() Definition: producer.hpp:79
-ProducerType Definition: enumClasses.hpp:26
+ProducerType Definition: enumClasses.hpp:28
#define OP_API Definition: macros.hpp:18
std::string string Definition: cl2.hpp:574
diff --git a/html/search/all_1.js b/html/search/all_1.js
index 63834cf96b92e9ffb487e1b0e3d38a35bc111ae1..91f7672dcc71f72208a6b51db4c1dca8c6251005 100644
--- a/html/search/all_1.js
+++ b/html/search/all_1.js
@@ -6,7 +6,7 @@ var searchData=
['binaries',['Binaries',['../classcl_1_1_program.html#a012a70fc915a06671e1d6c05ba7804df',1,'cl::Program']]],
['blendoriginalframe',['blendOriginalFrame',['../structop_1_1_wrapper_struct_pose.html#aa2cee9019b708d48cc18313615d0189e',1,'op::WrapperStructPose']]],
['blob',['Blob',['../classcaffe_1_1_blob.html',1,'caffe']]],
- ['body',['Body',['../namespaceop.html#abc02b50eb41d637d862e6af74bc9b3ccaac101b32dda4448cf13a93fe283dddd8',1,'op']]],
+ ['body',['Body',['../namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8',1,'op']]],
['body_5f19',['BODY_19',['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fae3ae2003e0e0458bdc49480fb19c876e',1,'op']]],
['body_5f19_5fx2',['BODY_19_X2',['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261faca4c7eb29b1f3402e78aa384ce8fd5a9',1,'op']]],
['body_5f19n',['BODY_19N',['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa9c6c21b2b0a410880f46637db622e392',1,'op']]],
diff --git a/html/search/all_12.js b/html/search/all_12.js
index f4204038dd6fe8fa5c5b8e84a4dbfd8c93fb5347..b3a82766331428e222aa8fb27f0a9862d1b49ecf 100644
--- a/html/search/all_12.js
+++ b/html/search/all_12.js
@@ -62,7 +62,7 @@ var searchData=
['setto',['setTo',['../classop_1_1_array.html#a28f09d11de753a741334ee8094296acb',1,'op::Array']]],
['setworker',['setWorker',['../classop_1_1_wrapper_t.html#a81fc761f8616b44c40d8f0b5338d754d',1,'op::WrapperT']]],
['shared_5fptr',['shared_ptr',['../classboost_1_1shared__ptr.html',1,'boost']]],
- ['size',['Size',['../classop_1_1_hand_detector.html#a4d058446e66aff15d8702558fd256b73a6f6cb72d544962fa333e2e34ce64f719',1,'op::HandDetector::Size()'],['../classcl_1_1_n_d_range.html#a31018e7478f8ce3a129dee14abf53719',1,'cl::NDRange::size()'],['../structcl_1_1detail_1_1_kernel_argument_handler_3_01_t_00_01typename_01std_1_1enable__if_3_9std_10affa824618af864313998f2e6bcf08f.html#ab26d77fd61e872fcf0bc9345dcb0192c',1,'cl::detail::KernelArgumentHandler< T, typename std::enable_if<!std::is_base_of< cl::Memory, T >::value >::type >::size()'],['../structcl_1_1detail_1_1_kernel_argument_handler_3_01_t_00_01typename_01std_1_1enable__if_3_01std_cb5bfaca8096193f715a7bbe8a3fa84f.html#aab115c561c430a368dcf3fab65debf42',1,'cl::detail::KernelArgumentHandler< T, typename std::enable_if< std::is_base_of< cl::Memory, T >::value >::type >::size()'],['../structcl_1_1detail_1_1_kernel_argument_handler_3_01_local_space_arg_00_01void_01_4.html#adcc5bbbbc8975491e859042d6764372c',1,'cl::detail::KernelArgumentHandler< LocalSpaceArg, void >::size()'],['../structcl_1_1detail_1_1_kernel_argument_handler_3_01cl_1_1_device_command_queue_00_01void_01_4.html#aaca22313c85e1f71a41f5695c21aeea0',1,'cl::detail::KernelArgumentHandler< cl::DeviceCommandQueue, void >::size()'],['../classop_1_1_queue_base.html#a12cdec56bfe72e722ecc722774989d1b',1,'op::QueueBase::size()'],['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#abc501c56c6cf6cf1989c84b1692cb774a6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#a970a2a768a2ace81605b1558c9fdec18a6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()']]],
+ ['size',['Size',['../classop_1_1_hand_detector.html#a4d058446e66aff15d8702558fd256b73a6f6cb72d544962fa333e2e34ce64f719',1,'op::HandDetector::Size()'],['../classcl_1_1_n_d_range.html#a31018e7478f8ce3a129dee14abf53719',1,'cl::NDRange::size()'],['../structcl_1_1detail_1_1_kernel_argument_handler_3_01_t_00_01typename_01std_1_1enable__if_3_9std_10affa824618af864313998f2e6bcf08f.html#ab26d77fd61e872fcf0bc9345dcb0192c',1,'cl::detail::KernelArgumentHandler< T, typename std::enable_if<!std::is_base_of< cl::Memory, T >::value >::type >::size()'],['../structcl_1_1detail_1_1_kernel_argument_handler_3_01_t_00_01typename_01std_1_1enable__if_3_01std_cb5bfaca8096193f715a7bbe8a3fa84f.html#aab115c561c430a368dcf3fab65debf42',1,'cl::detail::KernelArgumentHandler< T, typename std::enable_if< std::is_base_of< cl::Memory, T >::value >::type >::size()'],['../structcl_1_1detail_1_1_kernel_argument_handler_3_01_local_space_arg_00_01void_01_4.html#adcc5bbbbc8975491e859042d6764372c',1,'cl::detail::KernelArgumentHandler< LocalSpaceArg, void >::size()'],['../structcl_1_1detail_1_1_kernel_argument_handler_3_01cl_1_1_device_command_queue_00_01void_01_4.html#aaca22313c85e1f71a41f5695c21aeea0',1,'cl::detail::KernelArgumentHandler< cl::DeviceCommandQueue, void >::size()'],['../classop_1_1_queue_base.html#a12cdec56bfe72e722ecc722774989d1b',1,'op::QueueBase::size()'],['../namespaceop.html#a5418b76dad5b4aea1133325f4aa715aca6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#abc501c56c6cf6cf1989c84b1692cb774a6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#a970a2a768a2ace81605b1558c9fdec18a6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()']]],
['size_5f',['size_',['../structcl_1_1_local_space_arg.html#a30ac7ba02b1a0909f10253ed4158e0a6',1,'cl::LocalSpaceArg']]],
['size_5ft_5farray',['size_t_array',['../namespacecl_1_1detail.html#aab488f551c8b1feb4f4b3f6893c358db',1,'cl::detail']]],
['size_5ftype',['size_type',['../classcl_1_1_s_v_m_allocator.html#afe51e51ed34089444241a43aab0950ef',1,'cl::SVMAllocator::size_type()'],['../namespacecl.html#a35ea2a6f4cc42e6b4082daab0e4dc449',1,'cl::size_type()']]],
diff --git a/html/search/all_14.js b/html/search/all_14.js
index 5c028f2caa5980d9883aeeacc3ab244c0a3f0f18..22822015dd3667b17fceeab10445e06b66225b2f 100644
--- a/html/search/all_14.js
+++ b/html/search/all_14.js
@@ -10,6 +10,7 @@ var searchData=
['uintround',['uIntRound',['../namespaceop.html#a8525e440d6ac1b558e72637dc4f4e3c4',1,'op']]],
['ulonglonground',['uLongLongRound',['../namespaceop.html#a757a5cc88734e7be9e910e7d8213c282',1,'op']]],
['ulonground',['ulongRound',['../namespaceop.html#aaafe2e235a1a3a146bb026b71c521c7b',1,'op']]],
+ ['undistortimage',['undistortImage',['../structop_1_1_wrapper_struct_input.html#ae7183e10862dbdbed422f042f1a71ed1',1,'op::WrapperStructInput']]],
['unloadcompiler',['unloadCompiler',['../classcl_1_1_platform.html#a70313ea76e0e369c4dc951a7f47b531f',1,'cl::Platform']]],
['unmapsvm',['unmapSVM',['../namespacecl.html#af9f49b386b20c55c04a9e6cd21849fd5',1,'cl']]],
['unrollarraytoucharcvmat',['unrollArrayToUCharCvMat',['../namespaceop.html#ab8b9daed84e741afb7191fde8ed95b5e',1,'op']]],
diff --git a/html/search/all_16.js b/html/search/all_16.js
index 972a7b037c020e585fa4ec717b5d67ffeef9b07c..2f035d46a6165cbb677ffe6c91d37972b9d136f3 100644
--- a/html/search/all_16.js
+++ b/html/search/all_16.js
@@ -19,6 +19,7 @@ var searchData=
['wdatumproducer',['WDatumProducer',['../classop_1_1_w_datum_producer.html#aaba921d1cf641dc44ab509c0e460c5f1',1,'op::WDatumProducer']]],
['wdatumproducer_2ehpp',['wDatumProducer.hpp',['../w_datum_producer_8hpp.html',1,'']]],
['webcam',['Webcam',['../namespaceop.html#a54b73745852c270cfd891eed0f6f2332ae2faa2a74b6a4134d0b3e84c7c0e2a01',1,'op']]],
+ ['webcamfps',['webcamFps',['../structop_1_1_wrapper_struct_input.html#a49970fa2a3e14394ac49c1f0679c72f5',1,'op::WrapperStructInput']]],
['webcamreader',['WebcamReader',['../classop_1_1_webcam_reader.html',1,'op']]],
['webcamreader',['WebcamReader',['../classop_1_1_webcam_reader.html#afbfa9ebf32ab1c95f0378b49fce0df35',1,'op::WebcamReader']]],
['webcamreader_2ehpp',['webcamReader.hpp',['../webcam_reader_8hpp.html',1,'']]],
@@ -40,8 +41,8 @@ var searchData=
['wgui',['WGui',['../classop_1_1_w_gui.html',1,'op']]],
['wgui',['WGui',['../classop_1_1_w_gui.html#a4e7d3f5b3ddaf02109738b4348250611',1,'op::WGui']]],
['wgui_2ehpp',['wGui.hpp',['../w_gui_8hpp.html',1,'']]],
- ['wgui3d',['WGui3D',['../classop_1_1_w_gui3_d.html',1,'op']]],
['wgui3d',['WGui3D',['../classop_1_1_w_gui3_d.html#ab61a31574460ff87efa99ed7362474ed',1,'op::WGui3D']]],
+ ['wgui3d',['WGui3D',['../classop_1_1_w_gui3_d.html',1,'op']]],
['wgui3d_2ehpp',['wGui3D.hpp',['../w_gui3_d_8hpp.html',1,'']]],
['wguiadam_2ehpp',['wGuiAdam.hpp',['../w_gui_adam_8hpp.html',1,'']]],
['wguiinfoadder',['WGuiInfoAdder',['../classop_1_1_w_gui_info_adder.html#a0b2c539b72ef09106ab0306dc88c5ac5',1,'op::WGuiInfoAdder']]],
@@ -53,8 +54,8 @@ var searchData=
['whanddetectorfromtxt',['WHandDetectorFromTxt',['../classop_1_1_w_hand_detector_from_txt.html#a01a5f73b0a8a1b8998937e7ba3d747a3',1,'op::WHandDetectorFromTxt']]],
['whanddetectorfromtxt',['WHandDetectorFromTxt',['../classop_1_1_w_hand_detector_from_txt.html',1,'op']]],
['whanddetectorfromtxt_2ehpp',['wHandDetectorFromTxt.hpp',['../w_hand_detector_from_txt_8hpp.html',1,'']]],
- ['whanddetectortracking',['WHandDetectorTracking',['../classop_1_1_w_hand_detector_tracking.html#ad2a5ac720f4ed651f4cf5e42d21c05dd',1,'op::WHandDetectorTracking']]],
['whanddetectortracking',['WHandDetectorTracking',['../classop_1_1_w_hand_detector_tracking.html',1,'op']]],
+ ['whanddetectortracking',['WHandDetectorTracking',['../classop_1_1_w_hand_detector_tracking.html#ad2a5ac720f4ed651f4cf5e42d21c05dd',1,'op::WHandDetectorTracking']]],
['whanddetectortracking_2ehpp',['wHandDetectorTracking.hpp',['../w_hand_detector_tracking_8hpp.html',1,'']]],
['whanddetectorupdate',['WHandDetectorUpdate',['../classop_1_1_w_hand_detector_update.html#abd8b56fbfbd2a619a4f37d148592f61b',1,'op::WHandDetectorUpdate']]],
['whanddetectorupdate',['WHandDetectorUpdate',['../classop_1_1_w_hand_detector_update.html',1,'op']]],
@@ -75,8 +76,8 @@ var searchData=
['widgenerator',['WIdGenerator',['../classop_1_1_w_id_generator.html',1,'op']]],
['widgenerator_2ehpp',['wIdGenerator.hpp',['../w_id_generator_8hpp.html',1,'']]],
['width',['width',['../structop_1_1_rectangle.html#a0d0ae826039b0961fae8723708809cdf',1,'op::Rectangle']]],
- ['wimagesaver',['WImageSaver',['../classop_1_1_w_image_saver.html',1,'op']]],
['wimagesaver',['WImageSaver',['../classop_1_1_w_image_saver.html#a11add012ee88b64a4f36d3f63cb65ee0',1,'op::WImageSaver']]],
+ ['wimagesaver',['WImageSaver',['../classop_1_1_w_image_saver.html',1,'op']]],
['wimagesaver_2ehpp',['wImageSaver.hpp',['../w_image_saver_8hpp.html',1,'']]],
['windowed',['Windowed',['../namespaceop.html#a6c22a72ce93c64e7582cb670492a50bfab13311ab51c4c34757f67f26580018dd',1,'op']]],
['wjointangleestimation_2ehpp',['wJointAngleEstimation.hpp',['../w_joint_angle_estimation_8hpp.html',1,'']]],
@@ -141,7 +142,7 @@ var searchData=
['wrapper_3c_20cl_5fprogram_20_3e',['Wrapper< cl_program >',['../classcl_1_1detail_1_1_wrapper.html',1,'cl::detail']]],
['wrapper_3c_20cl_5fsampler_20_3e',['Wrapper< cl_sampler >',['../classcl_1_1detail_1_1_wrapper.html',1,'cl::detail']]],
['wrapperauxiliary_2ehpp',['wrapperAuxiliary.hpp',['../wrapper_auxiliary_8hpp.html',1,'']]],
- ['wrapperconfiguresanitychecks',['wrapperConfigureSanityChecks',['../namespaceop.html#aa09218bc02738455b92fb20b47b0e1a7',1,'op']]],
+ ['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_2ehpp',['wrapperStructExtra.hpp',['../wrapper_struct_extra_8hpp.html',1,'']]],
@@ -152,10 +153,10 @@ var searchData=
['wrapperstructhand',['WrapperStructHand',['../structop_1_1_wrapper_struct_hand.html#aaa42d271c3cb7fa3a071d4785644c0a8',1,'op::WrapperStructHand']]],
['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#a67d604b247a6ff54682b009c42ad61e2',1,'op::WrapperStructInput']]],
+ ['wrapperstructinput',['WrapperStructInput',['../structop_1_1_wrapper_struct_input.html#a529d945c83bb69ac1db7b8db371e6622',1,'op::WrapperStructInput']]],
['wrapperstructinput_2ehpp',['wrapperStructInput.hpp',['../wrapper_struct_input_8hpp.html',1,'']]],
- ['wrapperstructoutput',['WrapperStructOutput',['../structop_1_1_wrapper_struct_output.html',1,'op']]],
['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_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']]],
@@ -177,13 +178,13 @@ var searchData=
['writevideo',['writeVideo',['../structop_1_1_wrapper_struct_output.html#a73d6a5687ab8abac22f5cd29690b6277',1,'op::WrapperStructOutput']]],
['writevideoadam',['writeVideoAdam',['../structop_1_1_wrapper_struct_output.html#a94538578a465c78788760cadb8ea86f6',1,'op::WrapperStructOutput']]],
['writevideofps',['writeVideoFps',['../structop_1_1_wrapper_struct_output.html#ad595edffced2bfd80c3bee183f32f505',1,'op::WrapperStructOutput']]],
- ['wscaleandsizeextractor',['WScaleAndSizeExtractor',['../classop_1_1_w_scale_and_size_extractor.html#a8e6ef291bd809987f06fbb1cc2173b0f',1,'op::WScaleAndSizeExtractor']]],
['wscaleandsizeextractor',['WScaleAndSizeExtractor',['../classop_1_1_w_scale_and_size_extractor.html',1,'op']]],
+ ['wscaleandsizeextractor',['WScaleAndSizeExtractor',['../classop_1_1_w_scale_and_size_extractor.html#a8e6ef291bd809987f06fbb1cc2173b0f',1,'op::WScaleAndSizeExtractor']]],
['wscaleandsizeextractor_2ehpp',['wScaleAndSizeExtractor.hpp',['../w_scale_and_size_extractor_8hpp.html',1,'']]],
['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#a04dc4e6f039d047a0da6f94283c145d9',1,'op::WVideoSaver']]],
['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_2ehpp',['wVideoSaver.hpp',['../w_video_saver_8hpp.html',1,'']]]
];
diff --git a/html/search/all_2.js b/html/search/all_2.js
index 6ef57c54ae0c0c391eb5eb737d505f3b488eedd2..a80974d6dfc0dd49abcea88d9e9f30730d3c2510 100644
--- a/html/search/all_2.js
+++ b/html/search/all_2.js
@@ -5,9 +5,12 @@ var searchData=
['cameraintrinsics',['cameraIntrinsics',['../structop_1_1_datum.html#a2cabb5abd5892e5b4ca7c2958820a708',1,'op::Datum']]],
['cameramatrix',['cameraMatrix',['../structop_1_1_datum.html#aeab7638276f1d9eb14847302bd0d0287',1,'op::Datum']]],
['cameraparameterestimation_2ehpp',['cameraParameterEstimation.hpp',['../camera_parameter_estimation_8hpp.html',1,'']]],
- ['cameraparameterreader',['CameraParameterReader',['../classop_1_1_camera_parameter_reader.html#ab7a4c3ef7ac8d8a41e5711ec85b7be4b',1,'op::CameraParameterReader::CameraParameterReader()'],['../classop_1_1_camera_parameter_reader.html#a5d59c888ef90281712838d7673f1b7d7',1,'op::CameraParameterReader::CameraParameterReader(const std::string &serialNumber, const cv::Mat &cameraIntrinsics, const cv::Mat &cameraDistortion, const cv::Mat &cameraExtrinsics=cv::Mat())']]],
+ ['cameraparameterpath',['cameraParameterPath',['../structop_1_1_wrapper_struct_input.html#aca3c35d7835493bbaf1dee26ee7a9bbd',1,'op::WrapperStructInput']]],
['cameraparameterreader',['CameraParameterReader',['../classop_1_1_camera_parameter_reader.html',1,'op']]],
+ ['cameraparameterreader',['CameraParameterReader',['../classop_1_1_camera_parameter_reader.html#ab7a4c3ef7ac8d8a41e5711ec85b7be4b',1,'op::CameraParameterReader::CameraParameterReader()'],['../classop_1_1_camera_parameter_reader.html#a5d59c888ef90281712838d7673f1b7d7',1,'op::CameraParameterReader::CameraParameterReader(const std::string &serialNumber, const cv::Mat &cameraIntrinsics, const cv::Mat &cameraDistortion, const cv::Mat &cameraExtrinsics=cv::Mat())']]],
['cameraparameterreader_2ehpp',['cameraParameterReader.hpp',['../camera_parameter_reader_8hpp.html',1,'']]],
+ ['cameraresolution',['cameraResolution',['../structop_1_1_wrapper_struct_input.html#ae2078c540324a9cdc8500dce5d361bee',1,'op::WrapperStructInput']]],
+ ['car',['Car',['../namespaceop.html#a5418b76dad5b4aea1133325f4aa715acae9989db5dabeea617f40c8dbfd07f5fb',1,'op']]],
['car_5f12',['CAR_12',['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa66ae79a5ac5fa502ae8bbecd3e07e71c',1,'op']]],
['car_5f22',['CAR_22',['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa372b9885bba8bc32ad323fffcf99e39e',1,'op']]],
['center',['center',['../structop_1_1_rectangle.html#a5db1a105c3b95578a7532ce85e9f562c',1,'op::Rectangle']]],
@@ -55,7 +58,7 @@ var searchData=
['coarse_5fsvm_5fvector',['coarse_svm_vector',['../namespacecl.html#a51ad881a3d0a77bca3eecd01af8501c0',1,'cl']]],
['coco_5f18',['COCO_18',['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa0c4a19d9254adcb3ca1f0f527ee141fd',1,'op']]],
['coco_5fchallenge',['COCO_CHALLENGE',['../namespaceop.html#a59616e83eefc182f8eb6ae51d6425938',1,'op']]],
- ['cocojsonformat',['CocoJsonFormat',['../namespaceop.html#abc02b50eb41d637d862e6af74bc9b3cc',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_2ehpp',['cocoJsonSaver.hpp',['../coco_json_saver_8hpp.html',1,'']]],
@@ -92,6 +95,7 @@ var searchData=
['createarray',['createArray',['../classop_1_1_cv_mat_to_op_input.html#acf0c43174fe8e3b1c71d76aca861a6ab',1,'op::CvMatToOpInput::createArray()'],['../classop_1_1_cv_mat_to_op_output.html#a003515873bf34525e2a6d313d8619ff3',1,'op::CvMatToOpOutput::createArray()']]],
['createkernels',['createKernels',['../classcl_1_1_program.html#a8251f8a862bdfd82caf10a949b2bd884',1,'cl::Program']]],
['createpeoplevector',['createPeopleVector',['../namespaceop.html#ac4c0c08d800a5af6e1e9d3778fb01d3b',1,'op']]],
+ ['createproducer',['createProducer',['../namespaceop.html#aff1530aa4f78f3c55b7df9b452ceee94',1,'op']]],
['createsubbuffer',['createSubBuffer',['../classcl_1_1_buffer.html#ab73f1e0ab2224f3d515820dd6b0c1d73',1,'cl::Buffer']]],
['createsubdevices',['createSubDevices',['../classcl_1_1_device.html#ab60bfd190bf8f82cb8f0adb0a869a2f2',1,'cl::Device']]],
['cuda',['Cuda',['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7fa8b95dcff7397d0693c03e394af5552aa',1,'op']]],
diff --git a/html/search/all_5.js b/html/search/all_5.js
index 88760f328bc7f90d507da5f3b346a34d18efc3d4..bde0670f4c58874c48e8660d8dfa020f2335c2d3 100644
--- a/html/search/all_5.js
+++ b/html/search/all_5.js
@@ -59,7 +59,7 @@ var searchData=
['flagstoopenpose_2ehpp',['flagsToOpenPose.hpp',['../flags_to_open_pose_8hpp.html',1,'']]],
['flagstopoint',['flagsToPoint',['../namespaceop.html#a7961cb2fd04f59cbcd40df5872f12fd7',1,'op']]],
['flagstoposemodel',['flagsToPoseModel',['../namespaceop.html#aed592469f254f31c2356d4628f75aaea',1,'op']]],
- ['flagstoproducer',['flagsToProducer',['../namespaceop.html#a0665c10c4afd960dac5746aaf967200a',1,'op']]],
+ ['flagstoproducer',['flagsToProducer',['../namespaceop.html#ac5928fbe1f41a1f6e49bfdb82ee831e3',1,'op']]],
['flagstoproducertype',['flagsToProducerType',['../namespaceop.html#a1fbdd7c33f90d0237582c9441162a7d8',1,'op']]],
['flagstorendermode',['flagsToRenderMode',['../namespaceop.html#a70f65da8f70ebd07b093932927187c90',1,'op']]],
['flagstoscalemode',['flagsToScaleMode',['../namespaceop.html#ac3bebe88bedbd7785d48159c8e3f0515',1,'op']]],
@@ -70,7 +70,7 @@ var searchData=
['flirreader',['FlirReader',['../classop_1_1_flir_reader.html',1,'op']]],
['flirreader_2ehpp',['flirReader.hpp',['../flir_reader_8hpp.html',1,'']]],
['flush',['flush',['../classcl_1_1_command_queue.html#a4349d9530f98d7544d1ddb5cbcc053bd',1,'cl::CommandQueue::flush()'],['../namespacecl.html#aec3275453ec57a74dfa7a34653cfa194',1,'cl::flush()']]],
- ['foot',['Foot',['../namespaceop.html#abc02b50eb41d637d862e6af74bc9b3cca129e74dde7b475c8848310e16754c965',1,'op']]],
+ ['foot',['Foot',['../namespaceop.html#a5418b76dad5b4aea1133325f4aa715aca129e74dde7b475c8848310e16754c965',1,'op']]],
['forceemplace',['forceEmplace',['../classop_1_1_queue_base.html#a8d218f599b84194909691c72ee0de8d0',1,'op::QueueBase']]],
['forcepush',['forcePush',['../classop_1_1_queue_base.html#ad124d414b7c2680e5312ee163d18410f',1,'op::QueueBase']]],
['formatasdirectory',['formatAsDirectory',['../namespaceop.html#ab38ea91ef7b7dad700d8e4a4654d48f5',1,'op']]],
diff --git a/html/search/all_8.js b/html/search/all_8.js
index 4621492c9cd6c3eeab8d9735fd4740f60bda0669..54ea87adb3fa173a39b68ebf76d854a4c762fe0d 100644
--- a/html/search/all_8.js
+++ b/html/search/all_8.js
@@ -22,6 +22,7 @@ var searchData=
['imagedirectoryreader',['ImageDirectoryReader',['../classop_1_1_image_directory_reader.html',1,'op']]],
['imagedirectoryreader',['ImageDirectoryReader',['../classop_1_1_image_directory_reader.html#ae925d9314bfd948296d76475219b3594',1,'op::ImageDirectoryReader']]],
['imagedirectoryreader_2ehpp',['imageDirectoryReader.hpp',['../image_directory_reader_8hpp.html',1,'']]],
+ ['imagedirectorystereo',['imageDirectoryStereo',['../structop_1_1_wrapper_struct_input.html#a92597a68a61c6a1a3f4c09c8dfe5819f',1,'op::WrapperStructInput']]],
['imageformat',['ImageFormat',['../structcl_1_1_image_format.html',1,'cl']]],
['imageformat',['ImageFormat',['../structcl_1_1_image_format.html#adf48b6e9dfdfefb7583e20826c3b4a14',1,'cl::ImageFormat::ImageFormat()'],['../structcl_1_1_image_format.html#a039deeaa451a52448014794e7dae30ba',1,'cl::ImageFormat::ImageFormat(cl_channel_order order, cl_channel_type type)']]],
['imagegl',['ImageGL',['../classcl_1_1_image_g_l.html',1,'cl']]],
@@ -37,8 +38,8 @@ var searchData=
['inputresolution',['InputResolution',['../namespaceop.html#af72fe4ed32846c12f41b049d3d0e1bdaa46f9a0da0a5d448fd0cc8b3aa0a9b228',1,'op']]],
['intround',['intRound',['../namespaceop.html#adcfd0bf5ba782278488c157667a80c54',1,'op']]],
['ipcamera',['IPCamera',['../namespaceop.html#a54b73745852c270cfd891eed0f6f2332af40a40a04a078c4449cda2f326d7fb18',1,'op']]],
- ['ipcamerareader',['IpCameraReader',['../classop_1_1_ip_camera_reader.html',1,'op']]],
['ipcamerareader',['IpCameraReader',['../classop_1_1_ip_camera_reader.html#abbe7f1bbf200ed9c6c0868eb3c6b0764',1,'op::IpCameraReader']]],
+ ['ipcamerareader',['IpCameraReader',['../classop_1_1_ip_camera_reader.html',1,'op']]],
['ipcamerareader_2ehpp',['ipCameraReader.hpp',['../ip_camera_reader_8hpp.html',1,'']]],
['isfull',['isFull',['../classop_1_1_queue_base.html#af141ad8b11578e8cbc7ec07cb1819cf8',1,'op::QueueBase']]],
['isopened',['isOpened',['../classop_1_1_video_saver.html#a0c5dadfa4f687283c370e7890ae5037f',1,'op::VideoSaver::isOpened()'],['../classop_1_1_flir_reader.html#a3ce5e34848ef03804f6261964c6f6a77',1,'op::FlirReader::isOpened()'],['../classop_1_1_image_directory_reader.html#a432bc94339019f251cc48bbb4c5ae1e8',1,'op::ImageDirectoryReader::isOpened()'],['../classop_1_1_ip_camera_reader.html#a2017f8f5aa377306eebe09139b817e7a',1,'op::IpCameraReader::isOpened()'],['../classop_1_1_producer.html#a58590e4a409d31f839184b4bf030a68b',1,'op::Producer::isOpened()'],['../classop_1_1_spinnaker_wrapper.html#a009cbd856dea9e87b4dd22cf80f52164',1,'op::SpinnakerWrapper::isOpened()'],['../classop_1_1_video_capture_reader.html#ae863adc39055fc651d409cc350f26617',1,'op::VideoCaptureReader::isOpened()'],['../classop_1_1_video_reader.html#a8ad62fbe196e59edec94f933e0a3269d',1,'op::VideoReader::isOpened()'],['../classop_1_1_webcam_reader.html#a9ac58534016e640dce5c5c6b53e5cb6f',1,'op::WebcamReader::isOpened()']]],
diff --git a/html/search/all_f.js b/html/search/all_f.js
index d876922209b6080a31244e9077ab72c026593fd4..9482fba56887f7fe5766a22cc19402ca1a9c14cf 100644
--- a/html/search/all_f.js
+++ b/html/search/all_f.js
@@ -101,16 +101,16 @@ var searchData=
['printaveragedtimemsoniterationx',['printAveragedTimeMsOnIterationX',['../classop_1_1_profiler.html#a58b930a54a98bbc91af074395852da76',1,'op::Profiler']]],
['printsize',['printSize',['../classop_1_1_array.html#a337e33980c231bc207ea7d31ffa84fe3',1,'op::Array']]],
['priority',['Priority',['../namespaceop.html#adc43fb9031418e7f8112816a3b535d14',1,'op']]],
- ['priorityqueue',['PriorityQueue',['../classop_1_1_priority_queue.html',1,'op']]],
['priorityqueue',['PriorityQueue',['../classop_1_1_priority_queue.html#acecdd3c5789942777652b66d08578d93',1,'op::PriorityQueue']]],
+ ['priorityqueue',['PriorityQueue',['../classop_1_1_priority_queue.html',1,'op']]],
['priorityqueue_2ehpp',['priorityQueue.hpp',['../priority_queue_8hpp.html',1,'']]],
- ['producer',['Producer',['../classop_1_1_producer.html#a4fe2921798031db39fef934848a23c82',1,'op::Producer']]],
['producer',['Producer',['../classop_1_1_producer.html',1,'op']]],
+ ['producer',['Producer',['../classop_1_1_producer.html#a4fe2921798031db39fef934848a23c82',1,'op::Producer']]],
['producer_2ehpp',['producer.hpp',['../producer_8hpp.html',1,'']]],
['producerfpsmode',['ProducerFpsMode',['../namespaceop.html#ac0230b669b296920c0cfc41b7587268f',1,'op']]],
['producerproperty',['ProducerProperty',['../namespaceop.html#abc501c56c6cf6cf1989c84b1692cb774',1,'op']]],
- ['producersharedptr',['producerSharedPtr',['../structop_1_1_wrapper_struct_input.html#adb77e57fd11db9950d9754a2c8c8eaa5',1,'op::WrapperStructInput']]],
- ['producertype',['ProducerType',['../namespaceop.html#a54b73745852c270cfd891eed0f6f2332',1,'op']]],
+ ['producerstring',['producerString',['../structop_1_1_wrapper_struct_input.html#a03e5628a93671e1d771b3080d3c4f1e7',1,'op::WrapperStructInput']]],
+ ['producertype',['producerType',['../structop_1_1_wrapper_struct_input.html#acd6a460d6c0a64bc818539b67fcafea7',1,'op::WrapperStructInput::producerType()'],['../namespaceop.html#a54b73745852c270cfd891eed0f6f2332',1,'op::ProducerType()']]],
['profilegpumemory',['profileGpuMemory',['../classop_1_1_profiler.html#a6e828c0b4fef5671a094727b7919a948',1,'op::Profiler']]],
['profiler',['Profiler',['../classop_1_1_profiler.html',1,'op']]],
['profiler_2ehpp',['profiler.hpp',['../profiler_8hpp.html',1,'']]],
diff --git a/html/search/enums_0.js b/html/search/enums_0.js
index 59d4e43eb3ab3cc61abf766829995dad40bd73ca..c7996f1022ffd38ed1d88f50fff52b0784dcba31 100644
--- a/html/search/enums_0.js
+++ b/html/search/enums_0.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['cocojsonformat',['CocoJsonFormat',['../namespaceop.html#abc02b50eb41d637d862e6af74bc9b3cc',1,'op']]]
+ ['cocojsonformat',['CocoJsonFormat',['../namespaceop.html#a5418b76dad5b4aea1133325f4aa715ac',1,'op']]]
];
diff --git a/html/search/enumvalues_1.js b/html/search/enumvalues_1.js
index 18c43dfd5d470791b25f8a147b2825506265ba9b..c1405323c0e7444aac0f3f91926991e79aa10156 100644
--- a/html/search/enumvalues_1.js
+++ b/html/search/enumvalues_1.js
@@ -1,7 +1,7 @@
var searchData=
[
['background',['Background',['../namespaceop.html#a1c3dbc214e7552f7ef9cc753ee97226baa9ded1e5ce5d75814730bb4caaf49419',1,'op::Background()'],['../namespaceop.html#a37a23e10d9cbc428c793c3df1d62993eaa9ded1e5ce5d75814730bb4caaf49419',1,'op::Background()']]],
- ['body',['Body',['../namespaceop.html#abc02b50eb41d637d862e6af74bc9b3ccaac101b32dda4448cf13a93fe283dddd8',1,'op']]],
+ ['body',['Body',['../namespaceop.html#a5418b76dad5b4aea1133325f4aa715acaac101b32dda4448cf13a93fe283dddd8',1,'op']]],
['body_5f19',['BODY_19',['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fae3ae2003e0e0458bdc49480fb19c876e',1,'op']]],
['body_5f19_5fx2',['BODY_19_X2',['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261faca4c7eb29b1f3402e78aa384ce8fd5a9',1,'op']]],
['body_5f19n',['BODY_19N',['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa9c6c21b2b0a410880f46637db622e392',1,'op']]],
diff --git a/html/search/enumvalues_2.js b/html/search/enumvalues_2.js
index 7945d1d6367cbdd3a9a20e34450a923a9cc035cb..0a2497f81179d8116b0f3bd925a5a1938898c291 100644
--- a/html/search/enumvalues_2.js
+++ b/html/search/enumvalues_2.js
@@ -1,5 +1,6 @@
var searchData=
[
+ ['car',['Car',['../namespaceop.html#a5418b76dad5b4aea1133325f4aa715acae9989db5dabeea617f40c8dbfd07f5fb',1,'op']]],
['car_5f12',['CAR_12',['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa66ae79a5ac5fa502ae8bbecd3e07e71c',1,'op']]],
['car_5f22',['CAR_22',['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa372b9885bba8bc32ad323fffcf99e39e',1,'op']]],
['coco_5f18',['COCO_18',['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa0c4a19d9254adcb3ca1f0f527ee141fd',1,'op']]],
diff --git a/html/search/enumvalues_4.js b/html/search/enumvalues_4.js
index f90283c0538ef8444a47aef8b2ed04e6869c0e39..aa3c154d1d937a7669141795fca3d4b5cbbc6d7f 100644
--- a/html/search/enumvalues_4.js
+++ b/html/search/enumvalues_4.js
@@ -3,7 +3,7 @@ var searchData=
['filelogging',['FileLogging',['../namespaceop.html#a5f5a4cee9809deaf7201fb9caf5e400ca68ec2bf5b1662d1d27a523dcfc3c702a',1,'op::FileLogging()'],['../namespaceop.html#a5fa46d7c4b25c823d1cdcc8e9d460f94a68ec2bf5b1662d1d27a523dcfc3c702a',1,'op::FileLogging()']]],
['flip',['Flip',['../namespaceop.html#abc501c56c6cf6cf1989c84b1692cb774a9ffbd422925a6839ee820ddbc59278c5',1,'op']]],
['flircamera',['FlirCamera',['../namespaceop.html#a54b73745852c270cfd891eed0f6f2332af436d4d7a472ac39a7cb227e3ea24f8d',1,'op']]],
- ['foot',['Foot',['../namespaceop.html#abc02b50eb41d637d862e6af74bc9b3cca129e74dde7b475c8848310e16754c965',1,'op']]],
+ ['foot',['Foot',['../namespaceop.html#a5418b76dad5b4aea1133325f4aa715aca129e74dde7b475c8848310e16754c965',1,'op']]],
['framestep',['FrameStep',['../namespaceop.html#abc501c56c6cf6cf1989c84b1692cb774a63eacc5ed21c0ecb8bc583e10dc3ae58',1,'op']]],
['fullscreen',['FullScreen',['../namespaceop.html#a6c22a72ce93c64e7582cb670492a50bfae7ec409749889353b8f83a6b04159420',1,'op']]]
];
diff --git a/html/search/enumvalues_f.js b/html/search/enumvalues_f.js
index 48261e04aae24f007dd8c3561ce1cbfcd2e16b9e..431ec46633c7ddc0561367ab1cc238ac03c7392f 100644
--- a/html/search/enumvalues_f.js
+++ b/html/search/enumvalues_f.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['size',['Size',['../classop_1_1_hand_detector.html#a4d058446e66aff15d8702558fd256b73a6f6cb72d544962fa333e2e34ce64f719',1,'op::HandDetector::Size()'],['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#abc501c56c6cf6cf1989c84b1692cb774a6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#a970a2a768a2ace81605b1558c9fdec18a6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()']]],
+ ['size',['Size',['../classop_1_1_hand_detector.html#a4d058446e66aff15d8702558fd256b73a6f6cb72d544962fa333e2e34ce64f719',1,'op::HandDetector::Size()'],['../namespaceop.html#a5418b76dad5b4aea1133325f4aa715aca6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#adbb34b5c8f2b6f0c051f831f18582e7fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#af5b3ce2a5d3de87cb31b9b67e96f261fa6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#a37c58b781e5bcd9fee67a7768afc5d0ea6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#abc501c56c6cf6cf1989c84b1692cb774a6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()'],['../namespaceop.html#a970a2a768a2ace81605b1558c9fdec18a6f6cb72d544962fa333e2e34ce64f719',1,'op::Size()']]],
['skeleton',['Skeleton',['../namespaceop.html#a37a23e10d9cbc428c793c3df1d62993ea6ab48f7ed56efc362f41853c5616bf75',1,'op']]],
['stdcerr',['StdCerr',['../namespaceop.html#a5f5a4cee9809deaf7201fb9caf5e400ca002f2100f8870e7c823894f492e4d337',1,'op']]],
['stdcout',['StdCout',['../namespaceop.html#a5fa46d7c4b25c823d1cdcc8e9d460f94aa544d56d9492a20da20018000b5043b6',1,'op']]],
diff --git a/html/search/functions_16.js b/html/search/functions_16.js
index 3e18ff1672a2f4daba8c2bef15ed3d0430f6668a..94fd296bc4750d386d266c0684e412e736174786 100644
--- a/html/search/functions_16.js
+++ b/html/search/functions_16.js
@@ -46,11 +46,11 @@ var searchData=
['wqueueassembler',['WQueueAssembler',['../classop_1_1_w_queue_assembler.html#a8d73df6a562bd797e16d2bb3ced83b6d',1,'op::WQueueAssembler']]],
['wqueueorderer',['WQueueOrderer',['../classop_1_1_w_queue_orderer.html#a3303add5fa8cc36593d3d859ffdd8ae0',1,'op::WQueueOrderer']]],
['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 &obj, bool retainObject)'],['../classcl_1_1detail_1_1_wrapper.html#af91bafdf8593c34e0d0722cdd93010be',1,'cl::detail::Wrapper::Wrapper(const Wrapper< cl_type > &rhs)'],['../classcl_1_1detail_1_1_wrapper.html#a115618e2baf10ec5c09513394d985ea6',1,'cl::detail::Wrapper::Wrapper(Wrapper< cl_type > &&rhs) CL_HPP_NOEXCEPT_'],['../classcl_1_1detail_1_1_wrapper_3_01cl__device__id_01_4.html#a6881f47b159f53e2efefc3325127bdc5',1,'cl::detail::Wrapper< cl_device_id >::Wrapper()'],['../classcl_1_1detail_1_1_wrapper_3_01cl__device__id_01_4.html#a69a1b6a912ec468216ddfec1f5b6598e',1,'cl::detail::Wrapper< cl_device_id >::Wrapper(const cl_type &obj, bool retainObject)'],['../classcl_1_1detail_1_1_wrapper_3_01cl__device__id_01_4.html#a0abf5113a5123b8de94685ddfa214bd0',1,'cl::detail::Wrapper< cl_device_id >::Wrapper(const Wrapper< cl_type > &rhs)'],['../classcl_1_1detail_1_1_wrapper_3_01cl__device__id_01_4.html#a6a4506b8f3920fb2487b1a5448a6f10c',1,'cl::detail::Wrapper< cl_device_id >::Wrapper(Wrapper< cl_type > &&rhs) CL_HPP_NOEXCEPT_']]],
- ['wrapperconfiguresanitychecks',['wrapperConfigureSanityChecks',['../namespaceop.html#aa09218bc02738455b92fb20b47b0e1a7',1,'op']]],
+ ['wrapperconfiguresanitychecks',['wrapperConfigureSanityChecks',['../namespaceop.html#a8d9107e83f9cbc69f195199f0aef4385',1,'op']]],
['wrapperstructextra',['WrapperStructExtra',['../structop_1_1_wrapper_struct_extra.html#a70cdc27c953962810333fafe011f86dd',1,'op::WrapperStructExtra']]],
['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#a67d604b247a6ff54682b009c42ad61e2',1,'op::WrapperStructInput']]],
+ ['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']]],
['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']]],
diff --git a/html/search/functions_2.js b/html/search/functions_2.js
index 219dad197ec0ce1c00d3708b10d4eebd2d8e3b47..0aeab9f57def2d7766e1d8edf59a8f6cd4945f1d 100644
--- a/html/search/functions_2.js
+++ b/html/search/functions_2.js
@@ -33,6 +33,7 @@ var searchData=
['createarray',['createArray',['../classop_1_1_cv_mat_to_op_input.html#acf0c43174fe8e3b1c71d76aca861a6ab',1,'op::CvMatToOpInput::createArray()'],['../classop_1_1_cv_mat_to_op_output.html#a003515873bf34525e2a6d313d8619ff3',1,'op::CvMatToOpOutput::createArray()']]],
['createkernels',['createKernels',['../classcl_1_1_program.html#a8251f8a862bdfd82caf10a949b2bd884',1,'cl::Program']]],
['createpeoplevector',['createPeopleVector',['../namespaceop.html#ac4c0c08d800a5af6e1e9d3778fb01d3b',1,'op']]],
+ ['createproducer',['createProducer',['../namespaceop.html#aff1530aa4f78f3c55b7df9b452ceee94',1,'op']]],
['createsubbuffer',['createSubBuffer',['../classcl_1_1_buffer.html#ab73f1e0ab2224f3d515820dd6b0c1d73',1,'cl::Buffer']]],
['createsubdevices',['createSubDevices',['../classcl_1_1_device.html#ab60bfd190bf8f82cb8f0adb0a869a2f2',1,'cl::Device']]],
['cudacheck',['cudaCheck',['../namespaceop.html#a2af8422ada0de882cc222920ca15c6d2',1,'op']]],
diff --git a/html/search/functions_5.js b/html/search/functions_5.js
index e21b57e115b2ee492e467d76cc432379f858fab2..9e9ce7ac0900734a6ab39283ae650267bfd847dd 100644
--- a/html/search/functions_5.js
+++ b/html/search/functions_5.js
@@ -17,7 +17,7 @@ var searchData=
['flagstoheatmapscalemode',['flagsToHeatMapScaleMode',['../namespaceop.html#aa4a6fee7ba2cc543739477e9c1d64136',1,'op']]],
['flagstopoint',['flagsToPoint',['../namespaceop.html#a7961cb2fd04f59cbcd40df5872f12fd7',1,'op']]],
['flagstoposemodel',['flagsToPoseModel',['../namespaceop.html#aed592469f254f31c2356d4628f75aaea',1,'op']]],
- ['flagstoproducer',['flagsToProducer',['../namespaceop.html#a0665c10c4afd960dac5746aaf967200a',1,'op']]],
+ ['flagstoproducer',['flagsToProducer',['../namespaceop.html#ac5928fbe1f41a1f6e49bfdb82ee831e3',1,'op']]],
['flagstoproducertype',['flagsToProducerType',['../namespaceop.html#a1fbdd7c33f90d0237582c9441162a7d8',1,'op']]],
['flagstorendermode',['flagsToRenderMode',['../namespaceop.html#a70f65da8f70ebd07b093932927187c90',1,'op']]],
['flagstoscalemode',['flagsToScaleMode',['../namespaceop.html#ac3bebe88bedbd7785d48159c8e3f0515',1,'op']]],
diff --git a/html/search/variables_13.js b/html/search/variables_13.js
index cd240a5c0dfc59914c97d9e79ff5c9f9f225c422..ddf8a1333098b77403f93ab0a6d92c35b243b2f8 100644
--- a/html/search/variables_13.js
+++ b/html/search/variables_13.js
@@ -1,5 +1,6 @@
var searchData=
[
['udphost',['udpHost',['../structop_1_1_wrapper_struct_output.html#a92040f009e2f9344037d93d6442ce117',1,'op::WrapperStructOutput']]],
- ['udpport',['udpPort',['../structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c',1,'op::WrapperStructOutput']]]
+ ['udpport',['udpPort',['../structop_1_1_wrapper_struct_output.html#aec3a7ec85be0779930427ba3e806ea2c',1,'op::WrapperStructOutput']]],
+ ['undistortimage',['undistortImage',['../structop_1_1_wrapper_struct_input.html#ae7183e10862dbdbed422f042f1a71ed1',1,'op::WrapperStructInput']]]
];
diff --git a/html/search/variables_15.js b/html/search/variables_15.js
index 7db39220438da3491038efbfc46e52e83cca2ba8..9618a0facbd4498288f6cec1cdf6381f33bc843a 100644
--- a/html/search/variables_15.js
+++ b/html/search/variables_15.js
@@ -1,5 +1,6 @@
var searchData=
[
+ ['webcamfps',['webcamFps',['../structop_1_1_wrapper_struct_input.html#a49970fa2a3e14394ac49c1f0679c72f5',1,'op::WrapperStructInput']]],
['width',['width',['../structop_1_1_rectangle.html#a0d0ae826039b0961fae8723708809cdf',1,'op::Rectangle']]],
['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']]],
diff --git a/html/search/variables_2.js b/html/search/variables_2.js
index 8cf906aa545d236281b70e32ea653dbc102d8b45..340e4ee652290529593546264f91d3d7e86695b8 100644
--- a/html/search/variables_2.js
+++ b/html/search/variables_2.js
@@ -3,6 +3,8 @@ var searchData=
['cameraextrinsics',['cameraExtrinsics',['../structop_1_1_datum.html#a8f878dc9157bc9b786046d56fd151e2a',1,'op::Datum']]],
['cameraintrinsics',['cameraIntrinsics',['../structop_1_1_datum.html#a2cabb5abd5892e5b4ca7c2958820a708',1,'op::Datum']]],
['cameramatrix',['cameraMatrix',['../structop_1_1_datum.html#aeab7638276f1d9eb14847302bd0d0287',1,'op::Datum']]],
+ ['cameraparameterpath',['cameraParameterPath',['../structop_1_1_wrapper_struct_input.html#aca3c35d7835493bbaf1dee26ee7a9bbd',1,'op::WrapperStructInput']]],
+ ['cameraresolution',['cameraResolution',['../structop_1_1_wrapper_struct_input.html#ae2078c540324a9cdc8500dce5d361bee',1,'op::WrapperStructInput']]],
['coco_5fchallenge',['COCO_CHALLENGE',['../namespaceop.html#a59616e83eefc182f8eb6ae51d6425938',1,'op']]],
['counterlastdetection',['counterLastDetection',['../structop_1_1_person_entry.html#a75994912fe3dc4a022e8310ee760b167',1,'op::PersonEntry']]],
['cuda_5fnum_5fthreads',['CUDA_NUM_THREADS',['../namespaceop.html#ac7bbf63b37bf6762c47557ad227e036d',1,'op']]],
diff --git a/html/search/variables_8.js b/html/search/variables_8.js
index 998f5c5c7e74df6ac7bbfb602b256d7efbb227d2..e6f2d21546d4c260d4dbc8c835922b60afca5242 100644
--- a/html/search/variables_8.js
+++ b/html/search/variables_8.js
@@ -3,5 +3,6 @@ var searchData=
['id',['id',['../structop_1_1_datum.html#a65deddd49d0fbca81f367198fc600015',1,'op::Datum']]],
['identification',['identification',['../structop_1_1_wrapper_struct_extra.html#a08578de8a074415df3e645d3ddb27b8b',1,'op::WrapperStructExtra']]],
['ikthreads',['ikThreads',['../structop_1_1_wrapper_struct_extra.html#ad41edf2717e5446a250efc05512ee07f',1,'op::WrapperStructExtra']]],
+ ['imagedirectorystereo',['imageDirectoryStereo',['../structop_1_1_wrapper_struct_input.html#a92597a68a61c6a1a3f4c09c8dfe5819f',1,'op::WrapperStructInput']]],
['inputnetdata',['inputNetData',['../structop_1_1_datum.html#a46ff336119fd0d67c8223b1a9371731d',1,'op::Datum']]]
];
diff --git a/html/search/variables_f.js b/html/search/variables_f.js
index d48c20f7cc399e233c227dc92d948136b7448e19..813ec0be6ee88ba7422cfda6479410fbfa8b9826 100644
--- a/html/search/variables_f.js
+++ b/html/search/variables_f.js
@@ -10,5 +10,6 @@ var searchData=
['posekeypoints3d',['poseKeypoints3D',['../structop_1_1_datum.html#a652ac1e7de13ec9a886dece75848cfea',1,'op::Datum']]],
['posemodel',['poseModel',['../structop_1_1_wrapper_struct_pose.html#a35147b6fb9e300d79b71637793053a1b',1,'op::WrapperStructPose']]],
['posescores',['poseScores',['../structop_1_1_datum.html#afb117821de7aff9ac3c219ef3bbc0c14',1,'op::Datum']]],
- ['producersharedptr',['producerSharedPtr',['../structop_1_1_wrapper_struct_input.html#adb77e57fd11db9950d9754a2c8c8eaa5',1,'op::WrapperStructInput']]]
+ ['producerstring',['producerString',['../structop_1_1_wrapper_struct_input.html#a03e5628a93671e1d771b3080d3c4f1e7',1,'op::WrapperStructInput']]],
+ ['producertype',['producerType',['../structop_1_1_wrapper_struct_input.html#acd6a460d6c0a64bc818539b67fcafea7',1,'op::WrapperStructInput']]]
];
diff --git a/html/structop_1_1_datum.html b/html/structop_1_1_datum.html
index f9bd63bad9294c07309bbf7de97fdcf0cac2580b..6d24a7adc53f10f43cf73df133d6df8de511c730 100644
--- a/html/structop_1_1_datum.html
+++ b/html/structop_1_1_datum.html
@@ -915,7 +915,7 @@ Public Attributes
- Size(s) (width x height) of the image(s) fed to the pose deep net. The size of the std::vector corresponds to the number of scales.
+ Size(s) (width x height) of the image(s) fed to the pose deep net. The size of the std::vector corresponds to the number of scales.
diff --git a/html/structop_1_1_wrapper_struct_input-members.html b/html/structop_1_1_wrapper_struct_input-members.html
index bdef1a57bca067a777d9a600ca827b44b69ee9cf..efc36e07d252e533607b42dddee68e164abcaefe 100644
--- a/html/structop_1_1_wrapper_struct_input-members.html
+++ b/html/structop_1_1_wrapper_struct_input-members.html
@@ -112,15 +112,21 @@ $(document).ready(function(){initNavTree('structop_1_1_wrapper_struct_input.html
This is the complete list of members for op::WrapperStructInput, including all inherited members.
+ cameraParameterPath | op::WrapperStructInput | |
+ cameraResolution | op::WrapperStructInput | |
frameFirst | op::WrapperStructInput | |
frameFlip | op::WrapperStructInput | |
frameLast | op::WrapperStructInput | |
frameRotate | op::WrapperStructInput | |
framesRepeat | op::WrapperStructInput | |
frameStep | op::WrapperStructInput | |
- producerSharedPtr | op::WrapperStructInput | |
+ imageDirectoryStereo | op::WrapperStructInput | |
+ producerString | op::WrapperStructInput | |
+ producerType | op::WrapperStructInput | |
realTimeProcessing | op::WrapperStructInput | |
- WrapperStructInput(const std::shared_ptr< Producer > producerSharedPtr=nullptr, const unsigned long long frameFirst=0, const unsigned long long frameStep=1, const unsigned long long frameLast=std::numeric_limits< unsigned long long >::max(), const bool realTimeProcessing=false, const bool frameFlip=false, const int frameRotate=0, const bool framesRepeat=false) | op::WrapperStructInput | |
+ undistortImage | op::WrapperStructInput | |
+ webcamFps | op::WrapperStructInput | |
+ WrapperStructInput(const ProducerType producerType=ProducerType::None, const std::string &producerString="", const unsigned long long frameFirst=0, const unsigned long long frameStep=1, const unsigned long long frameLast=std::numeric_limits< unsigned long long >::max(), const bool realTimeProcessing=false, const bool frameFlip=false, const int frameRotate=0, const bool framesRepeat=false, const Point< int > &cameraResolution=Point< int >{-1,-1}, const double webcamFps=30., const std::string &cameraParameterPath="models/cameraParameters/", const bool undistortImage=true, const unsigned int imageDirectoryStereo=1) | op::WrapperStructInput | |
diff --git a/html/structop_1_1_wrapper_struct_input.html b/html/structop_1_1_wrapper_struct_input.html
index 668077badb4e2a8a6d8c9ffbdd18df36e55b4a89..1f838e01ae72420dd63070a1ba907b07b16c99f0 100644
--- a/html/structop_1_1_wrapper_struct_input.html
+++ b/html/structop_1_1_wrapper_struct_input.html
@@ -118,13 +118,15 @@ $(document).ready(function(){initNavTree('structop_1_1_wrapper_struct_input.html
|
- | WrapperStructInput (const std::shared_ptr< Producer > producerSharedPtr=nullptr, const unsigned long long frameFirst=0, const unsigned long long frameStep=1, const unsigned long long frameLast=std::numeric_limits< unsigned long long >::max(), const bool realTimeProcessing=false, const bool frameFlip=false, const int frameRotate=0, const bool framesRepeat=false) |
- |
+ | WrapperStructInput (const ProducerType producerType=ProducerType::None, const std::string &producerString="", const unsigned long long frameFirst=0, const unsigned long long frameStep=1, const unsigned long long frameLast=std::numeric_limits< unsigned long long >::max(), const bool realTimeProcessing=false, const bool frameFlip=false, const int frameRotate=0, const bool framesRepeat=false, const Point< int > &cameraResolution=Point< int >{-1,-1}, const double webcamFps=30., const std::string &cameraParameterPath="models/cameraParameters/", const bool undistortImage=true, const unsigned int imageDirectoryStereo=1) |
+ |
WrapperStructInput: Input (images, video, webcam, etc.) configuration struct. WrapperStructInput allows the user to set up the input frames generator.
-
+
op::WrapperStructInput::WrapperStructInput |
( |
- const std::shared_ptr< Producer > |
- producerSharedPtr = nullptr , |
+ const ProducerType |
+ producerType = ProducerType::None , |
+
+
+ |
+ |
+ const std::string & |
+ producerString = "" , |
|
@@ -193,7 +211,37 @@ Public Attributes
|
|
const bool |
- framesRepeat = false |
+ framesRepeat = false , |
+
+
+ |
+ |
+ const Point< int > & |
+ cameraResolution = Point< int >{-1,-1} , |
+
+
+ |
+ |
+ const double |
+ webcamFps = 30. , |
+
+
+ |
+ |
+ const std::string & |
+ cameraParameterPath = "models/cameraParameters/" , |
+
+
+ |
+ |
+ const bool |
+ undistortImage = true , |
+
+
+ |
+ |
+ const unsigned int |
+ imageDirectoryStereo = 1 |
|
@@ -207,6 +255,32 @@ Public Attributes
+
+
+
+
+
+ std::string op::WrapperStructInput::cameraParameterPath |
+
+
+
+ Directory path for the camera parameters (intrinsic and extrinsic parameters).
+
+
+
+
+
+
+
+
+ Point<int> op::WrapperStructInput::cameraResolution |
+
+
+
+ Camera resolution (only for Webcam and FlirCamera).
+
+
+
@@ -285,16 +359,42 @@ Public Attributes
-
+
+
+
+
+
+ unsigned int op::WrapperStructInput::imageDirectoryStereo |
+
+
+
+ Number of camera views recorded (only for prerecorded produced sources, such as video and image directory).
+
+
+
+
+
+
+
+
+ std::string op::WrapperStructInput::producerString |
+
+
+
+ Path of the producer (image directory path for ImageDirectory, video path for Video, camera index for Webcam and FlirCamera, URL for IPCamera, etc.). Default: "".
+
+
+
+
- std::shared_ptr<Producer> op::WrapperStructInput::producerSharedPtr |
+ ProducerType op::WrapperStructInput::producerType |
- Producer which will generate the frames. Set to nullptr to disable the whole input, i.e., if the user is going to use his own frames generator.
+ Desired type of producer (FlirCamera, ImageDirectory, IPCamera, Video, Webcam, None, etc.). Default: ProducerType::None.
@@ -309,6 +409,32 @@ Public Attributes
Whether to skip or sleep in order to keep the same FPS as the frames producer.
+
+
+
+
+
+
+
+ bool op::WrapperStructInput::undistortImage |
+
+
+
+ Whether to undistort the image given the camera parameters.
+
+
+
+
+
+
+
+
+ double op::WrapperStructInput::webcamFps |
+
+
+
+ Frame rate of the camera (only for some producers).
+
The documentation for this struct was generated from the following file:
diff --git a/html/structop_1_1_wrapper_struct_input.js b/html/structop_1_1_wrapper_struct_input.js
index 7e6fec4bb1331e55a83fa7258bd02b89a5ec9cf0..c292d504b03b9522f45429b233f0c0e18ad025ed 100644
--- a/html/structop_1_1_wrapper_struct_input.js
+++ b/html/structop_1_1_wrapper_struct_input.js
@@ -1,12 +1,18 @@
var structop_1_1_wrapper_struct_input =
[
- [ "WrapperStructInput", "structop_1_1_wrapper_struct_input.html#a67d604b247a6ff54682b009c42ad61e2", null ],
+ [ "WrapperStructInput", "structop_1_1_wrapper_struct_input.html#a529d945c83bb69ac1db7b8db371e6622", null ],
+ [ "cameraParameterPath", "structop_1_1_wrapper_struct_input.html#aca3c35d7835493bbaf1dee26ee7a9bbd", null ],
+ [ "cameraResolution", "structop_1_1_wrapper_struct_input.html#ae2078c540324a9cdc8500dce5d361bee", null ],
[ "frameFirst", "structop_1_1_wrapper_struct_input.html#acc72b8efe09ec3888823ed5680a19fe4", null ],
[ "frameFlip", "structop_1_1_wrapper_struct_input.html#a5ee9722814fe2b5a695511cabd12b613", null ],
[ "frameLast", "structop_1_1_wrapper_struct_input.html#a5cffb282052bdd812217e54f0b2ec7d5", null ],
[ "frameRotate", "structop_1_1_wrapper_struct_input.html#a86df98e50b680b30afe100d8b2b50685", null ],
[ "framesRepeat", "structop_1_1_wrapper_struct_input.html#a7c80f6a3687696ba30d3ce0902ac162f", null ],
[ "frameStep", "structop_1_1_wrapper_struct_input.html#ac4349e123d359f436cc01d4068231dc2", null ],
- [ "producerSharedPtr", "structop_1_1_wrapper_struct_input.html#adb77e57fd11db9950d9754a2c8c8eaa5", null ],
- [ "realTimeProcessing", "structop_1_1_wrapper_struct_input.html#a2eeea9ee711a1dcbec99c3dc871fbc47", null ]
+ [ "imageDirectoryStereo", "structop_1_1_wrapper_struct_input.html#a92597a68a61c6a1a3f4c09c8dfe5819f", null ],
+ [ "producerString", "structop_1_1_wrapper_struct_input.html#a03e5628a93671e1d771b3080d3c4f1e7", null ],
+ [ "producerType", "structop_1_1_wrapper_struct_input.html#acd6a460d6c0a64bc818539b67fcafea7", null ],
+ [ "realTimeProcessing", "structop_1_1_wrapper_struct_input.html#a2eeea9ee711a1dcbec99c3dc871fbc47", null ],
+ [ "undistortImage", "structop_1_1_wrapper_struct_input.html#ae7183e10862dbdbed422f042f1a71ed1", null ],
+ [ "webcamFps", "structop_1_1_wrapper_struct_input.html#a49970fa2a3e14394ac49c1f0679c72f5", null ]
];
\ No newline at end of file
diff --git a/html/video_capture_reader_8hpp_source.html b/html/video_capture_reader_8hpp_source.html
index ac010ff16627198e3da5f0917208e67c17ac7b4b..15dd7c8d84c89169906eeebfeba6076a5974f313 100644
--- a/html/video_capture_reader_8hpp_source.html
+++ b/html/video_capture_reader_8hpp_source.html
@@ -155,7 +155,7 @@ $(document).ready(function(){initNavTree('video_capture_reader_8hpp_source.html'
Definition: videoCaptureReader.hpp:15
Definition: producer.hpp:15
-ProducerType Definition: enumClasses.hpp:26
+ProducerType Definition: enumClasses.hpp:28
#define OP_API Definition: macros.hpp:18
std::string string Definition: cl2.hpp:574
diff --git a/html/wrapper_auxiliary_8hpp.html b/html/wrapper_auxiliary_8hpp.html
index 80a69d6594f467da291bd9ecfd4eec137ce9f74e..e0175833feebb9b13a24384ba38ee283ea94be18 100644
--- a/html/wrapper_auxiliary_8hpp.html
+++ b/html/wrapper_auxiliary_8hpp.html
@@ -140,8 +140,8 @@ Namespaces
|
-OP_API void | op::wrapperConfigureSanityChecks (WrapperStructPose &wrapperStructPose, const WrapperStructFace &wrapperStructFace, const WrapperStructHand &wrapperStructHand, const WrapperStructExtra &wrapperStructExtra, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput, const bool renderOutput, const bool userOutputWsEmpty, const ThreadManagerMode threadManagerMode) |
- |
+OP_API void | op::wrapperConfigureSanityChecks (WrapperStructPose &wrapperStructPose, const WrapperStructFace &wrapperStructFace, const WrapperStructHand &wrapperStructHand, const WrapperStructExtra &wrapperStructExtra, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput, const bool renderOutput, const bool userOutputWsEmpty, const std::shared_ptr< Producer > &producerSharedPtr, const ThreadManagerMode threadManagerMode) |
+ |
OP_API void | op::threadIdPP (unsigned long long &threadId, const bool multiThreadEnabled) |
|
template<typename TDatums , typename TDatumsSP = std::shared_ptr<TDatums>, typename TWorker = std::shared_ptr<Worker<TDatumsSP>>> |
diff --git a/html/wrapper_auxiliary_8hpp.js b/html/wrapper_auxiliary_8hpp.js
index 4f7003a96bf7e3ad2d5785b9c14f6e8c6d9c1fb4..35ce98b4ab8354831bc08e6f07f1021441dcfdcd 100644
--- a/html/wrapper_auxiliary_8hpp.js
+++ b/html/wrapper_auxiliary_8hpp.js
@@ -3,5 +3,5 @@ var wrapper_auxiliary_8hpp =
[ "configureThreadManager", "wrapper_auxiliary_8hpp.html#a14617fc3e3e147e3b5887a172028eae0", null ],
[ "configureThreadManager", "wrapper_auxiliary_8hpp.html#a2339f5d601d330ee9c8c3d57acee8bf2", null ],
[ "threadIdPP", "wrapper_auxiliary_8hpp.html#af65a4564afcad06b72468679f6bee52b", null ],
- [ "wrapperConfigureSanityChecks", "wrapper_auxiliary_8hpp.html#aa09218bc02738455b92fb20b47b0e1a7", null ]
+ [ "wrapperConfigureSanityChecks", "wrapper_auxiliary_8hpp.html#a8d9107e83f9cbc69f195199f0aef4385", null ]
];
\ No newline at end of file
diff --git a/html/wrapper_auxiliary_8hpp_source.html b/html/wrapper_auxiliary_8hpp_source.html
index 8c18e887c03364ad876b5b8035dba02b1cbf3692..2e21e00e6797376db5a913a137cd5dcec94f803b 100644
--- a/html/wrapper_auxiliary_8hpp_source.html
+++ b/html/wrapper_auxiliary_8hpp_source.html
@@ -121,941 +121,947 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
-
- 28 const WrapperStructFace& wrapperStructFace,
- 29 const WrapperStructHand& wrapperStructHand,
- 30 const WrapperStructExtra& wrapperStructExtra,
- 31 const WrapperStructInput& wrapperStructInput,
- 32 const WrapperStructOutput& wrapperStructOutput,
- 33 const bool renderOutput,
- 34 const bool userOutputWsEmpty,
-
-
- 45 OP_API void threadIdPP( unsigned long long& threadId, const bool multiThreadEnabled);
-
- 53 template< typename TDatums,
- 54 typename TDatumsSP = std::shared_ptr<TDatums>,
- 55 typename TWorker = std::shared_ptr<Worker<TDatumsSP>>>
-
- 57 ThreadManager<TDatumsSP>& threadManager, const bool multiThreadEnabled,
- 58 const ThreadManagerMode threadManagerMode, const WrapperStructPose& wrapperStructPose,
- 59 const WrapperStructFace& wrapperStructFace, const WrapperStructHand& wrapperStructHand,
- 60 const WrapperStructExtra& wrapperStructExtra, const WrapperStructInput& wrapperStructInput,
- 61 const WrapperStructOutput& wrapperStructOutput,
-
-
-
+
+ 29 WrapperStructPose& wrapperStructPose, const WrapperStructFace& wrapperStructFace,
+ 30 const WrapperStructHand& wrapperStructHand, const WrapperStructExtra& wrapperStructExtra,
+ 31 const WrapperStructInput& wrapperStructInput, const WrapperStructOutput& wrapperStructOutput,
+ 32 const bool renderOutput, const bool userOutputWsEmpty, const std::shared_ptr<Producer>& producerSharedPtr,
+
+
+ 43 OP_API void threadIdPP( unsigned long long& threadId, const bool multiThreadEnabled);
+
+ 51 template< typename TDatums,
+ 52 typename TDatumsSP = std::shared_ptr<TDatums>,
+ 53 typename TWorker = std::shared_ptr<Worker<TDatumsSP>>>
+
+ 55 ThreadManager<TDatumsSP>& threadManager, const bool multiThreadEnabled,
+ 56 const ThreadManagerMode threadManagerMode, const WrapperStructPose& wrapperStructPose,
+ 57 const WrapperStructFace& wrapperStructFace, const WrapperStructHand& wrapperStructHand,
+ 58 const WrapperStructExtra& wrapperStructExtra, const WrapperStructInput& wrapperStructInput,
+ 59 const WrapperStructOutput& wrapperStructOutput,
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 85 template< typename TDatums, typename TDatumsSP, typename TWorker>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 100 auto wrapperStructPose = wrapperStructPoseTemp;
- 101 auto multiThreadEnabled = multiThreadEnabledTemp;
-
-
- 104 TWorker datumProducerW;
- 105 TWorker scaleAndSizeExtractorW;
- 106 TWorker cvMatToOpInputW;
- 107 TWorker cvMatToOpOutputW;
- 108 std::vector<std::vector<TWorker>> poseExtractorsWs;
- 109 std::vector<std::vector<TWorker>> poseTriangulationsWs;
- 110 std::vector<std::vector<TWorker>> jointAngleEstimationsWs;
- 111 std::vector<TWorker> postProcessingWs;
- 112 std::vector<TWorker> outputWs;
-
-
-
-
-
-
-
-
-
-
-
- 124 const auto spVideoSeek = std::make_shared<std::pair<std::atomic<bool>, std::atomic<int>>>();
-
- 126 spVideoSeek->first = false;
- 127 spVideoSeek->second = 0;
-
-
-
-
-
- 133 const auto renderOutputGpu = wrapperStructPose.renderMode == RenderMode::Gpu
-
-
-
-
-
-
-
- 141 const auto userOutputWsEmpty = userOutputWs.empty();
-
- 143 wrapperStructInput, wrapperStructOutput, renderOutput, userOutputWsEmpty,
-
-
-
- 147 auto numberThreads = wrapperStructPose.gpuNumber;
- 148 auto gpuNumberStart = wrapperStructPose.gpuNumberStart;
-
-
-
- 152 numberThreads = (wrapperStructPose.gpuNumber == 0 ? 0 : 1);
-
-
-
-
- 157 multiThreadEnabled = false;
-
-
-
-
-
-
-
- 165 if (numberThreads < 0)
-
- 167 if (totalGpuNumber <= gpuNumberStart)
- 168 error( "Number of initial GPU (`--number_gpu_start`) must be lower than the total number of"
- 169 " used GPUs (`--number_gpu`)", __LINE__, __FUNCTION__, __FILE__);
- 170 numberThreads = totalGpuNumber - gpuNumberStart;
-
-
- 173 log( "Auto-detecting all available GPUs... Detected " + std::to_string(totalGpuNumber)
- 174 + " GPU(s), using " + std::to_string(numberThreads) + " of them starting at GPU "
-
-
-
- 178 if (gpuNumberStart + numberThreads > totalGpuNumber)
- 179 error( "Initial GPU selected (`--number_gpu_start`) + number GPUs to use (`--number_gpu`) must"
- 180 " be lower or equal than the total number of GPUs in your machine ("
- 181 + std::to_string(gpuNumberStart) + " + "
- 182 + std::to_string(numberThreads) + " vs. "
- 183 + std::to_string(totalGpuNumber) + ").",
- 184 __LINE__, __FUNCTION__, __FILE__);
-
-
-
-
-
-
-
-
-
-
- 195 auto finalOutputSize = wrapperStructPose.outputSize;
-
-
-
-
-
-
-
- 203 wrapperStructInput. producerSharedPtr->setProducerFpsMode(displayProducerFpsMode);
-
-
-
-
-
-
-
-
- 212 if (finalOutputSize.x == -1 || finalOutputSize.y == -1)
- 213 finalOutputSize = producerSize;
-
-
-
-
-
- 219 const auto datumProducer = std::make_shared<DatumProducer<TDatums>>(
-
- 221 wrapperStructInput. frameLast, spVideoSeek
-
- 223 datumProducerW = std::make_shared<WDatumProducer<TDatumsSP, TDatums>>(datumProducer);
-
-
- 226 datumProducerW = nullptr;
-
- 228 std::vector<std::shared_ptr<PoseExtractorNet>> poseExtractorNets;
- 229 std::vector<std::shared_ptr<FaceExtractorNet>> faceExtractorNets;
- 230 std::vector<std::shared_ptr<HandExtractorNet>> handExtractorNets;
- 231 std::vector<std::shared_ptr<PoseGpuRenderer>> poseGpuRenderers;
- 232 std::shared_ptr<PoseCpuRenderer> poseCpuRenderer;
- 233 if (numberThreads > 0)
-
-
- 236 const auto scaleAndSizeExtractor = std::make_shared<ScaleAndSizeExtractor>(
- 237 wrapperStructPose.netInputSize, finalOutputSize, wrapperStructPose.scalesNumber,
- 238 wrapperStructPose.scaleGap
-
- 240 scaleAndSizeExtractorW = std::make_shared<WScaleAndSizeExtractor<TDatumsSP>>(scaleAndSizeExtractor);
-
-
- 243 const auto cvMatToOpInput = std::make_shared<CvMatToOpInput>(wrapperStructPose.poseModel);
- 244 cvMatToOpInputW = std::make_shared<WCvMatToOpInput<TDatumsSP>>(cvMatToOpInput);
-
-
- 247 const auto cvMatToOpOutput = std::make_shared<CvMatToOpOutput>();
- 248 cvMatToOpOutputW = std::make_shared<WCvMatToOpOutput<TDatumsSP>>(cvMatToOpOutput);
-
-
-
- 252 std::vector<TWorker> cpuRenderers;
- 253 poseExtractorsWs.clear();
- 254 poseExtractorsWs.resize(numberThreads);
- 255 if (wrapperStructPose.enable)
-
-
- 258 for ( auto gpuId = 0; gpuId < numberThreads; gpuId++)
- 259 poseExtractorNets.emplace_back(std::make_shared<PoseExtractorCaffe>(
- 260 wrapperStructPose.poseModel, modelFolder, gpuId + gpuNumberStart,
- 261 wrapperStructPose.heatMapTypes, wrapperStructPose.heatMapScale,
- 262 wrapperStructPose.addPartCandidates, wrapperStructPose.enableGoogleLogging
-
-
-
- 266 if (renderOutputGpu || wrapperStructPose.renderMode == RenderMode::Cpu)
-
-
-
- 270 const auto alphaKeypoint = (wrapperStructPose.renderMode != RenderMode::None
- 271 ? wrapperStructPose.alphaKeypoint : 0.f);
-
- 273 ? wrapperStructPose.alphaHeatMap : 0.f);
-
-
-
- 277 for ( const auto& poseExtractorNet : poseExtractorNets)
-
- 279 poseGpuRenderers.emplace_back(std::make_shared<PoseGpuRenderer>(
- 280 wrapperStructPose.poseModel, poseExtractorNet, wrapperStructPose.renderThreshold,
- 281 wrapperStructPose.blendOriginalFrame, alphaKeypoint,
- 282 alphaHeatMap, wrapperStructPose.defaultPartToRender
-
-
-
-
-
-
- 289 poseCpuRenderer = std::make_shared<PoseCpuRenderer>(
- 290 wrapperStructPose.poseModel, wrapperStructPose.renderThreshold,
- 291 wrapperStructPose.blendOriginalFrame, alphaKeypoint, alphaHeatMap,
- 292 wrapperStructPose.defaultPartToRender);
-
-
-
-
-
-
- 299 poseExtractorsWs.resize(poseExtractorNets.size());
-
- 301 ? std::make_shared<PersonIdExtractor>() : nullptr);
-
-
-
-
-
-
- 308 const auto keepTopNPeople = (wrapperStructPose.numberPeopleMax > 0 ?
- 309 std::make_shared<KeepTopNPeople>(wrapperStructPose.numberPeopleMax)
-
-
- 312 auto personTrackers = std::make_shared<std::vector<std::shared_ptr<PersonTracker>>>();
- 313 if (wrapperStructExtra. tracking > -1)
- 314 personTrackers->emplace_back(
- 315 std::make_shared<PersonTracker>(wrapperStructExtra. tracking == 0));
- 316 for ( auto i = 0u; i < poseExtractorsWs.size(); i++)
-
-
-
- 320 const auto poseExtractor = std::make_shared<PoseExtractor>(
- 321 poseExtractorNets.at(i), keepTopNPeople, personIdExtractor, personTrackers,
- 322 wrapperStructPose.numberPeopleMax, wrapperStructExtra. tracking);
- 323 poseExtractorsWs.at(i) = {std::make_shared<WPoseExtractor<TDatumsSP>>(poseExtractor)};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 345 if (wrapperStructFace. enable)
-
-
-
- 349 if (wrapperStructPose.enable)
-
- 351 const auto faceDetector = std::make_shared<FaceDetector>(wrapperStructPose.poseModel);
- 352 for ( auto& wPose : poseExtractorsWs)
-
-
-
-
-
- 358 log( "Body keypoint detection is disabled. Hence, using OpenCV face detector (much less"
-
- 360 for ( auto& wPose : poseExtractorsWs)
-
-
- 363 const auto faceDetectorOpenCV = std::make_shared<FaceDetectorOpenCV>(modelFolder);
-
-
-
-
-
-
- 370 for ( auto gpu = 0u; gpu < poseExtractorsWs.size(); gpu++)
-
-
- 373 const auto netOutputSize = wrapperStructFace. netInputSize;
- 374 const auto faceExtractorNet = std::make_shared<FaceExtractorCaffe>(
- 375 wrapperStructFace. netInputSize, netOutputSize, modelFolder,
- 376 gpu + gpuNumberStart, wrapperStructPose.heatMapTypes, wrapperStructPose.heatMapScale,
- 377 wrapperStructPose.enableGoogleLogging
-
- 379 faceExtractorNets.emplace_back(faceExtractorNet);
- 380 poseExtractorsWs.at(gpu).emplace_back(
-
-
-
-
-
- 386 if (wrapperStructHand. enable)
-
- 388 const auto handDetector = std::make_shared<HandDetector>(wrapperStructPose.poseModel);
- 389 for ( auto gpu = 0u; gpu < poseExtractorsWs.size(); gpu++)
-
-
-
-
- 394 poseExtractorsWs.at(gpu).emplace_back(
-
-
-
-
- 399 poseExtractorsWs.at(gpu).emplace_back(
-
-
- 402 const auto netOutputSize = wrapperStructHand. netInputSize;
- 403 const auto handExtractorNet = std::make_shared<HandExtractorCaffe>(
- 404 wrapperStructHand. netInputSize, netOutputSize, modelFolder,
-
- 406 wrapperStructPose.heatMapTypes, wrapperStructPose.heatMapScale,
- 407 wrapperStructPose.enableGoogleLogging
-
- 409 handExtractorNets.emplace_back(handExtractorNet);
- 410 poseExtractorsWs.at(gpu).emplace_back(
-
-
-
-
- 415 poseExtractorsWs.at(gpu).emplace_back(
-
-
-
-
-
-
- 422 if (!poseGpuRenderers.empty())
- 423 for ( auto i = 0u; i < poseExtractorsWs.size(); i++)
-
- 425 poseGpuRenderers.at(i)
-
-
-
-
-
-
-
-
-
- 435 const auto faceRenderer = std::make_shared<FaceCpuRenderer>(wrapperStructFace. renderThreshold,
-
-
-
-
-
-
-
-
- 444 for ( auto i = 0u; i < poseExtractorsWs.size(); i++)
-
-
- 447 const auto faceRenderer = std::make_shared<FaceGpuRenderer>(
-
-
-
-
- 452 if (!poseGpuRenderers.empty())
-
- 454 const bool isLastRenderer = !renderHandGpu;
-
- 456 poseGpuRenderers.at(i)
-
-
-
-
-
- 462 poseExtractorsWs.at(i).emplace_back(
-
-
-
-
- 467 error( "Unknown RenderMode.", __LINE__, __FUNCTION__, __FILE__);
-
-
-
-
-
-
-
-
-
- 477 const auto handRenderer = std::make_shared<HandCpuRenderer>(wrapperStructHand. renderThreshold,
-
-
-
-
-
-
-
-
- 486 for ( auto i = 0u; i < poseExtractorsWs.size(); i++)
-
-
- 489 const auto handRenderer = std::make_shared<HandGpuRenderer>(
-
-
-
-
- 494 if (!poseGpuRenderers.empty())
-
- 496 const bool isLastRenderer = true;
-
- 498 poseGpuRenderers.at(i)
-
-
-
-
-
- 504 poseExtractorsWs.at(i).emplace_back(
-
-
-
-
- 509 error( "Unknown RenderMode.", __LINE__, __FUNCTION__, __FILE__);
-
-
-
- 513 poseTriangulationsWs.clear();
-
-
-
- 517 poseTriangulationsWs.resize( fastMax(1, int(poseExtractorsWs.size() / 4)));
- 518 for ( auto i = 0u ; i < poseTriangulationsWs.size() ; i++)
-
- 520 const auto poseTriangulation = std::make_shared<PoseTriangulation>(
-
- 522 poseTriangulationsWs.at(i) = {std::make_shared<WPoseTriangulation<TDatumsSP>>(
-
-
-
-
- 527 postProcessingWs.clear();
-
-
-
-
-
-
-
-
-
-
-
- 539 postProcessingWs = mergeVectors(postProcessingWs, cpuRenderers);
- 540 const auto opOutputToCvMat = std::make_shared<OpOutputToCvMat>();
-
-
-
-
-
-
-
- 548 (finalOutputSize == producerSize || finalOutputSize.x <= 0 || finalOutputSize.y <= 0))
-
-
- 551 && producerSize == wrapperStructPose.netInputSize))
-
-
- 554 auto keypointScaler = std::make_shared<KeypointScaler>(wrapperStructPose.keypointScale);
-
-
-
-
-
-
-
-
- 563 jointAngleEstimationsWs.clear();
- 564 #ifdef USE_3D_ADAM_MODEL
-
-
- 567 jointAngleEstimationsWs.resize(wrapperStructExtra. ikThreads);
-
- 569 for ( auto i = 0u; i < jointAngleEstimationsWs.size(); i++)
-
- 571 const auto jointAngleEstimation = std::make_shared<JointAngleEstimation>(displayAdam);
- 572 jointAngleEstimationsWs.at(i) = {std::make_shared<WJointAngleEstimation<TDatumsSP>>(
- 573 jointAngleEstimation)};
-
-
-
-
-
-
-
- 581 #ifdef USE_3D_ADAM_MODEL
- 582 if (!wrapperStructOutput. udpHost.empty() && !wrapperStructOutput. udpPort.empty())
-
- 584 const auto udpSender = std::make_shared<UdpSender>(wrapperStructOutput. udpHost,
-
-
-
-
-
- 590 if (!writeKeypointCleaned.empty())
-
- 592 const auto keypointSaver = std::make_shared<KeypointSaver>(writeKeypointCleaned,
-
-
- 595 if (wrapperStructFace. enable)
-
- 597 if (wrapperStructHand. enable)
-
-
-
-
- 602 if (!writeJsonCleaned.empty())
-
- 604 const auto peopleJsonSaver = std::make_shared<PeopleJsonSaver>(writeJsonCleaned);
-
-
-
-
-
-
- 611 const auto humanFormat = true;
- 612 const auto cocoJsonSaver = std::make_shared<CocoJsonSaver>(wrapperStructOutput. writeCocoJson,
-
-
-
-
-
-
-
- 620 const auto humanFormat = true;
- 621 const auto cocoJsonSaver = std::make_shared<CocoJsonSaver>(wrapperStructOutput. writeCocoFootJson,
-
-
-
-
- 626 if (!writeImagesCleaned.empty())
-
- 628 const auto imageSaver = std::make_shared<ImageSaver>(writeImagesCleaned,
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 83 template< typename TDatums, typename TDatumsSP, typename TWorker>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 105 auto wrapperStructPose = wrapperStructPoseTemp;
+ 106 auto multiThreadEnabled = multiThreadEnabledTemp;
+
+
+ 109 TWorker datumProducerW;
+ 110 TWorker scaleAndSizeExtractorW;
+ 111 TWorker cvMatToOpInputW;
+ 112 TWorker cvMatToOpOutputW;
+ 113 std::vector<std::vector<TWorker>> poseExtractorsWs;
+ 114 std::vector<std::vector<TWorker>> poseTriangulationsWs;
+ 115 std::vector<std::vector<TWorker>> jointAngleEstimationsWs;
+ 116 std::vector<TWorker> postProcessingWs;
+ 117 std::vector<TWorker> outputWs;
+
+
+
+
+
+
+
+
+
+
+
+ 129 const auto spVideoSeek = std::make_shared<std::pair<std::atomic<bool>, std::atomic<int>>>();
+
+ 131 spVideoSeek->first = false;
+ 132 spVideoSeek->second = 0;
+
+
+
+
+
+ 138 const auto renderOutputGpu = wrapperStructPose.renderMode == RenderMode::Gpu
+
+
+
+
+
+
+
+ 146 const auto userOutputWsEmpty = userOutputWs.empty();
+
+ 148 wrapperStructPose, wrapperStructFace, wrapperStructHand, wrapperStructExtra, wrapperStructInput,
+ 149 wrapperStructOutput, renderOutput, userOutputWsEmpty, producerSharedPtr, threadManagerMode);
+
+
+ 152 auto numberThreads = wrapperStructPose.gpuNumber;
+ 153 auto gpuNumberStart = wrapperStructPose.gpuNumberStart;
+
+
+
+ 157 numberThreads = (wrapperStructPose.gpuNumber == 0 ? 0 : 1);
+
+
+
+
+ 162 multiThreadEnabled = false;
+
+
+
+
+
+
+
+ 170 if (numberThreads < 0)
+
+ 172 if (totalGpuNumber <= gpuNumberStart)
+ 173 error( "Number of initial GPU (`--number_gpu_start`) must be lower than the total number of"
+ 174 " used GPUs (`--number_gpu`)", __LINE__, __FUNCTION__, __FILE__);
+ 175 numberThreads = totalGpuNumber - gpuNumberStart;
+
+
+ 178 log( "Auto-detecting all available GPUs... Detected " + std::to_string(totalGpuNumber)
+ 179 + " GPU(s), using " + std::to_string(numberThreads) + " of them starting at GPU "
+
+
+
+ 183 if (gpuNumberStart + numberThreads > totalGpuNumber)
+ 184 error( "Initial GPU selected (`--number_gpu_start`) + number GPUs to use (`--number_gpu`) must"
+ 185 " be lower or equal than the total number of GPUs in your machine ("
+ 186 + std::to_string(gpuNumberStart) + " + "
+ 187 + std::to_string(numberThreads) + " vs. "
+ 188 + std::to_string(totalGpuNumber) + ").",
+ 189 __LINE__, __FUNCTION__, __FILE__);
+
+
+
+
+
+
+
+
+
+
+ 200 auto finalOutputSize = wrapperStructPose.outputSize;
+
+ 202 const auto oPProducer = (producerSharedPtr != nullptr);
+
+
+
+
+
+ 208 producerSharedPtr->setProducerFpsMode(displayProducerFpsMode);
+
+
+
+
+ 213 producerSize = Point<int>{(int)producerSharedPtr->get(CV_CAP_PROP_FRAME_WIDTH),
+ 214 (int)producerSharedPtr->get(CV_CAP_PROP_FRAME_HEIGHT)};
+
+ 216 if (finalOutputSize.x == -1 || finalOutputSize.y == -1)
+ 217 finalOutputSize = producerSize;
+
+
+
+
+
+ 223 const auto datumProducer = std::make_shared<DatumProducer<TDatums>>(
+
+ 225 wrapperStructInput. frameLast, spVideoSeek
+
+ 227 datumProducerW = std::make_shared<WDatumProducer<TDatumsSP, TDatums>>(datumProducer);
+
+
+ 230 datumProducerW = nullptr;
+
+ 232 std::vector<std::shared_ptr<PoseExtractorNet>> poseExtractorNets;
+ 233 std::vector<std::shared_ptr<FaceExtractorNet>> faceExtractorNets;
+ 234 std::vector<std::shared_ptr<HandExtractorNet>> handExtractorNets;
+ 235 std::vector<std::shared_ptr<PoseGpuRenderer>> poseGpuRenderers;
+ 236 std::shared_ptr<PoseCpuRenderer> poseCpuRenderer;
+ 237 if (numberThreads > 0)
+
+
+ 240 const auto scaleAndSizeExtractor = std::make_shared<ScaleAndSizeExtractor>(
+ 241 wrapperStructPose.netInputSize, finalOutputSize, wrapperStructPose.scalesNumber,
+ 242 wrapperStructPose.scaleGap
+
+ 244 scaleAndSizeExtractorW = std::make_shared<WScaleAndSizeExtractor<TDatumsSP>>(scaleAndSizeExtractor);
+
+
+ 247 const auto cvMatToOpInput = std::make_shared<CvMatToOpInput>(wrapperStructPose.poseModel);
+ 248 cvMatToOpInputW = std::make_shared<WCvMatToOpInput<TDatumsSP>>(cvMatToOpInput);
+
+
+ 251 const auto cvMatToOpOutput = std::make_shared<CvMatToOpOutput>();
+ 252 cvMatToOpOutputW = std::make_shared<WCvMatToOpOutput<TDatumsSP>>(cvMatToOpOutput);
+
+
+
+ 256 std::vector<TWorker> cpuRenderers;
+ 257 poseExtractorsWs.clear();
+ 258 poseExtractorsWs.resize(numberThreads);
+ 259 if (wrapperStructPose.enable)
+
+
+ 262 for ( auto gpuId = 0; gpuId < numberThreads; gpuId++)
+ 263 poseExtractorNets.emplace_back(std::make_shared<PoseExtractorCaffe>(
+ 264 wrapperStructPose.poseModel, modelFolder, gpuId + gpuNumberStart,
+ 265 wrapperStructPose.heatMapTypes, wrapperStructPose.heatMapScale,
+ 266 wrapperStructPose.addPartCandidates, wrapperStructPose.enableGoogleLogging
+
+
+
+ 270 if (renderOutputGpu || wrapperStructPose.renderMode == RenderMode::Cpu)
+
+
+
+ 274 const auto alphaKeypoint = (wrapperStructPose.renderMode != RenderMode::None
+ 275 ? wrapperStructPose.alphaKeypoint : 0.f);
+
+ 277 ? wrapperStructPose.alphaHeatMap : 0.f);
+
+
+
+ 281 for ( const auto& poseExtractorNet : poseExtractorNets)
+
+ 283 poseGpuRenderers.emplace_back(std::make_shared<PoseGpuRenderer>(
+ 284 wrapperStructPose.poseModel, poseExtractorNet, wrapperStructPose.renderThreshold,
+ 285 wrapperStructPose.blendOriginalFrame, alphaKeypoint,
+ 286 alphaHeatMap, wrapperStructPose.defaultPartToRender
+
+
+
+
+
+
+ 293 poseCpuRenderer = std::make_shared<PoseCpuRenderer>(
+ 294 wrapperStructPose.poseModel, wrapperStructPose.renderThreshold,
+ 295 wrapperStructPose.blendOriginalFrame, alphaKeypoint, alphaHeatMap,
+ 296 wrapperStructPose.defaultPartToRender);
+
+
+
+
+
+
+ 303 poseExtractorsWs.resize(poseExtractorNets.size());
+
+ 305 ? std::make_shared<PersonIdExtractor>() : nullptr);
+
+
+
+
+
+
+ 312 const auto keepTopNPeople = (wrapperStructPose.numberPeopleMax > 0 ?
+ 313 std::make_shared<KeepTopNPeople>(wrapperStructPose.numberPeopleMax)
+
+
+ 316 auto personTrackers = std::make_shared<std::vector<std::shared_ptr<PersonTracker>>>();
+ 317 if (wrapperStructExtra. tracking > -1)
+ 318 personTrackers->emplace_back(
+ 319 std::make_shared<PersonTracker>(wrapperStructExtra. tracking == 0));
+ 320 for ( auto i = 0u; i < poseExtractorsWs.size(); i++)
+
+
+
+ 324 const auto poseExtractor = std::make_shared<PoseExtractor>(
+ 325 poseExtractorNets.at(i), keepTopNPeople, personIdExtractor, personTrackers,
+ 326 wrapperStructPose.numberPeopleMax, wrapperStructExtra. tracking);
+ 327 poseExtractorsWs.at(i) = {std::make_shared<WPoseExtractor<TDatumsSP>>(poseExtractor)};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 349 if (wrapperStructFace. enable)
+
+
+
+ 353 if (wrapperStructPose.enable)
+
+ 355 const auto faceDetector = std::make_shared<FaceDetector>(wrapperStructPose.poseModel);
+ 356 for ( auto& wPose : poseExtractorsWs)
+
+
+
+
+
+ 362 log( "Body keypoint detection is disabled. Hence, using OpenCV face detector (much less"
+
+ 364 for ( auto& wPose : poseExtractorsWs)
+
+
+ 367 const auto faceDetectorOpenCV = std::make_shared<FaceDetectorOpenCV>(modelFolder);
+
+
+
+
+
+
+ 374 for ( auto gpu = 0u; gpu < poseExtractorsWs.size(); gpu++)
+
+
+ 377 const auto netOutputSize = wrapperStructFace. netInputSize;
+ 378 const auto faceExtractorNet = std::make_shared<FaceExtractorCaffe>(
+ 379 wrapperStructFace. netInputSize, netOutputSize, modelFolder,
+ 380 gpu + gpuNumberStart, wrapperStructPose.heatMapTypes, wrapperStructPose.heatMapScale,
+ 381 wrapperStructPose.enableGoogleLogging
+
+ 383 faceExtractorNets.emplace_back(faceExtractorNet);
+ 384 poseExtractorsWs.at(gpu).emplace_back(
+
+
+
+
+
+ 390 if (wrapperStructHand. enable)
+
+ 392 const auto handDetector = std::make_shared<HandDetector>(wrapperStructPose.poseModel);
+ 393 for ( auto gpu = 0u; gpu < poseExtractorsWs.size(); gpu++)
+
+
+
+
+ 398 poseExtractorsWs.at(gpu).emplace_back(
+
+
+
+
+ 403 poseExtractorsWs.at(gpu).emplace_back(
+
+
+ 406 const auto netOutputSize = wrapperStructHand. netInputSize;
+ 407 const auto handExtractorNet = std::make_shared<HandExtractorCaffe>(
+ 408 wrapperStructHand. netInputSize, netOutputSize, modelFolder,
+
+ 410 wrapperStructPose.heatMapTypes, wrapperStructPose.heatMapScale,
+ 411 wrapperStructPose.enableGoogleLogging
+
+ 413 handExtractorNets.emplace_back(handExtractorNet);
+ 414 poseExtractorsWs.at(gpu).emplace_back(
+
+
+
+
+ 419 poseExtractorsWs.at(gpu).emplace_back(
+
+
+
+
+
+
+ 426 if (!poseGpuRenderers.empty())
+ 427 for ( auto i = 0u; i < poseExtractorsWs.size(); i++)
+
+ 429 poseGpuRenderers.at(i)
+
+
+
+
+
+
+
+
+
+ 439 const auto faceRenderer = std::make_shared<FaceCpuRenderer>(wrapperStructFace. renderThreshold,
+
+
+
+
+
+
+
+
+ 448 for ( auto i = 0u; i < poseExtractorsWs.size(); i++)
+
+
+ 451 const auto faceRenderer = std::make_shared<FaceGpuRenderer>(
+
+
+
+
+ 456 if (!poseGpuRenderers.empty())
+
+ 458 const bool isLastRenderer = !renderHandGpu;
+
+ 460 poseGpuRenderers.at(i)
+
+
+
+
+
+ 466 poseExtractorsWs.at(i).emplace_back(
+
+
+
+
+ 471 error( "Unknown RenderMode.", __LINE__, __FUNCTION__, __FILE__);
+
+
+
+
+
+
+
+
+
+ 481 const auto handRenderer = std::make_shared<HandCpuRenderer>(wrapperStructHand. renderThreshold,
+
+
+
+
+
+
+
+
+ 490 for ( auto i = 0u; i < poseExtractorsWs.size(); i++)
+
+
+ 493 const auto handRenderer = std::make_shared<HandGpuRenderer>(
+
+
+
+
+ 498 if (!poseGpuRenderers.empty())
+
+ 500 const bool isLastRenderer = true;
+
+ 502 poseGpuRenderers.at(i)
+
+
+
+
+
+ 508 poseExtractorsWs.at(i).emplace_back(
+
+
+
+
+ 513 error( "Unknown RenderMode.", __LINE__, __FUNCTION__, __FILE__);
+
+
+
+ 517 poseTriangulationsWs.clear();
+
+
+
+ 521 poseTriangulationsWs.resize( fastMax(1, int(poseExtractorsWs.size() / 4)));
+ 522 for ( auto i = 0u ; i < poseTriangulationsWs.size() ; i++)
+
+ 524 const auto poseTriangulation = std::make_shared<PoseTriangulation>(
+
+ 526 poseTriangulationsWs.at(i) = {std::make_shared<WPoseTriangulation<TDatumsSP>>(
+
+
+
+
+ 531 postProcessingWs.clear();
+
+
+
+
+
+
+
+
+
+
+
+ 543 postProcessingWs = mergeVectors(postProcessingWs, cpuRenderers);
+ 544 const auto opOutputToCvMat = std::make_shared<OpOutputToCvMat>();
+
+
+
+
+
+
+
+ 552 (finalOutputSize == producerSize || finalOutputSize.x <= 0 || finalOutputSize.y <= 0))
+
+
+ 555 && producerSize == wrapperStructPose.netInputSize))
+
+
+ 558 auto keypointScaler = std::make_shared<KeypointScaler>(wrapperStructPose.keypointScale);
+
+
+
+
+
+
+
+
+ 567 jointAngleEstimationsWs.clear();
+ 568 #ifdef USE_3D_ADAM_MODEL
+
+
+ 571 jointAngleEstimationsWs.resize(wrapperStructExtra. ikThreads);
+
+ 573 for ( auto i = 0u; i < jointAngleEstimationsWs.size(); i++)
+
+ 575 const auto jointAngleEstimation = std::make_shared<JointAngleEstimation>(displayAdam);
+ 576 jointAngleEstimationsWs.at(i) = {std::make_shared<WJointAngleEstimation<TDatumsSP>>(
+ 577 jointAngleEstimation)};
+
+
+
+
+
+
+
+ 585 #ifdef USE_3D_ADAM_MODEL
+ 586 if (!wrapperStructOutput. udpHost.empty() && !wrapperStructOutput. udpPort.empty())
+
+ 588 const auto udpSender = std::make_shared<UdpSender>(wrapperStructOutput. udpHost,
+
+
+
+
+
+ 594 if (!writeKeypointCleaned.empty())
+
+ 596 const auto keypointSaver = std::make_shared<KeypointSaver>(writeKeypointCleaned,
+
+
+ 599 if (wrapperStructFace. enable)
+
+ 601 if (wrapperStructHand. enable)
+
+
+
+
+ 606 if (!writeJsonCleaned.empty())
+
+ 608 const auto peopleJsonSaver = std::make_shared<PeopleJsonSaver>(writeJsonCleaned);
+
+
+
+
+
+
+ 615 const auto humanFormat = true;
+ 616 const auto cocoJsonSaver = std::make_shared<CocoJsonSaver>(
+
+
+
+
+
+
+
+
+
+
+ 627 const auto humanFormat = true;
+ 628 const auto cocoJsonSaver = std::make_shared<CocoJsonSaver>(wrapperStructOutput. writeCocoFootJson,
+
+
-
-
-
- 635 const auto originalVideoFps = (wrapperStructOutput. writeVideoFps > 0 ?
-
-
-
-
-
- 641 error( "Video file can only be recorded inside `wrapper/wrapper.hpp` if the producer"
- 642 " is one of the default ones (e.g. video, webcam, ...).",
- 643 __LINE__, __FUNCTION__, __FILE__);
- 644 if (finalOutputSize.x <= 0 || finalOutputSize.y <= 0)
- 645 error( "Video can only be recorded if outputSize is fixed (e.g. video, webcam, IP camera),"
- 646 "but not for a image directory.", __LINE__, __FUNCTION__, __FILE__);
- 647 const auto videoSaver = std::make_shared<VideoSaver>(
- 648 wrapperStructOutput. writeVideo, CV_FOURCC( 'M', 'J', 'P', 'G'), originalVideoFps, finalOutputSize
-
-
-
-
- 653 #ifdef USE_3D_ADAM_MODEL
- 654 if (!wrapperStructOutput. writeBvh.empty())
-
- 656 const auto bvhSaver = std::make_shared<BvhSaver>(
- 657 wrapperStructOutput. writeBvh, JointAngleEstimation::getTotalModel(), originalVideoFps
-
- 659 outputWs.emplace_back(std::make_shared<WBvhSaver<TDatumsSP>>(bvhSaver));
-
-
-
- 663 if (!writeHeatMapsCleaned.empty())
-
- 665 const auto heatMapSaver = std::make_shared<HeatMapSaver>(writeHeatMapsCleaned,
-
-
-
-
-
-
-
- 673 if (wrapperStructOutput. guiVerbose && (guiEnabled || !userOutputWs.empty()
-
-
-
- 677 const auto guiInfoAdder = std::make_shared<GuiInfoAdder>(numberThreads, guiEnabled);
-
-
-
-
-
+
+ 633 if (!writeImagesCleaned.empty())
+
+ 635 const auto imageSaver = std::make_shared<ImageSaver>(writeImagesCleaned,
+
+
+
+
+ 640 const auto producerFps = (producerSharedPtr == nullptr ?
+ 641 0. : producerSharedPtr->get(CV_CAP_PROP_FPS));
+ 642 const auto originalVideoFps = (wrapperStructOutput. writeVideoFps > 0 ?
+
+
+
+
+
+ 648 error( "Video file can only be recorded inside `wrapper/wrapper.hpp` if the producer"
+ 649 " is one of the default ones (e.g. video, webcam, ...).",
+ 650 __LINE__, __FUNCTION__, __FILE__);
+ 651 if (finalOutputSize.x <= 0 || finalOutputSize.y <= 0)
+ 652 error( "Video can only be recorded if outputSize is fixed (e.g. video, webcam, IP camera),"
+ 653 "but not for a image directory.", __LINE__, __FUNCTION__, __FILE__);
+ 654 const auto videoSaver = std::make_shared<VideoSaver>(
+ 655 wrapperStructOutput. writeVideo, CV_FOURCC( 'M', 'J', 'P', 'G'), originalVideoFps, finalOutputSize
+
+
+
+
+ 660 #ifdef USE_3D_ADAM_MODEL
+ 661 if (!wrapperStructOutput. writeBvh.empty())
+
+ 663 const auto bvhSaver = std::make_shared<BvhSaver>(
+ 664 wrapperStructOutput. writeBvh, JointAngleEstimation::getTotalModel(), originalVideoFps
+
+ 666 outputWs.emplace_back(std::make_shared<WBvhSaver<TDatumsSP>>(bvhSaver));
+
+
+
+ 670 if (!writeHeatMapsCleaned.empty())
+
+ 672 const auto heatMapSaver = std::make_shared<HeatMapSaver>(writeHeatMapsCleaned,
+
+
+
+
+
+
+
+ 680 if (wrapperStructOutput. guiVerbose && (guiEnabled || !userOutputWs.empty()
+
+
-
- 685 std::vector<std::shared_ptr<Renderer>> renderers;
-
- 687 renderers.emplace_back(std::static_pointer_cast<Renderer>(poseCpuRenderer));
-
- 689 for ( const auto& poseGpuRenderer : poseGpuRenderers)
- 690 renderers.emplace_back(std::static_pointer_cast<Renderer>(poseGpuRenderer));
-
-
-
-
- 695 #ifdef USE_3D_ADAM_MODEL
-
- 697 const auto gui = std::make_shared<GuiAdam>(
-
- 699 spVideoSeek, poseExtractorNets, faceExtractorNets, handExtractorNets, renderers,
- 700 wrapperStructOutput. displayMode, JointAngleEstimation::getTotalModel(),
-
-
-
- 704 guiW = {std::make_shared<WGuiAdam<TDatumsSP>>(gui)};
-
-
-
-
-
-
-
- 712 const auto gui = std::make_shared<Gui3D>(
-
- 714 spVideoSeek, poseExtractorNets, faceExtractorNets, handExtractorNets, renderers,
- 715 wrapperStructPose.poseModel, wrapperStructOutput. displayMode
-
-
- 718 guiW = {std::make_shared<WGui3D<TDatumsSP>>(gui)};
-
-
-
-
-
- 724 const auto gui = std::make_shared<Gui>(
-
- 726 spVideoSeek, poseExtractorNets, faceExtractorNets, handExtractorNets, renderers
-
-
- 729 guiW = {std::make_shared<WGui<TDatumsSP>>(gui)};
-
-
- 732 error( "Unknown DisplayMode.", __LINE__, __FUNCTION__, __FILE__);
-
-
-
-
-
-
-
-
-
-
-
- 744 if ((datumProducerW == nullptr) == (userInputWs.empty())
-
-
-
- 748 const auto message = "You need to have 1 and only 1 producer selected. You can introduce your own"
- 749 " producer by using setWorker(WorkerType::Input, ...) or use the OpenPose"
- 750 " default producer by configuring it in the configure function) or use the"
- 751 " ThreadManagerMode::Asynchronous(In) mode.";
- 752 error(message, __LINE__, __FUNCTION__, __FILE__);
-
- 754 if (outputWs.empty() && userOutputWs.empty() && guiW == nullptr
-
-
-
- 758 error( "No output selected.", __LINE__, __FUNCTION__, __FILE__);
-
-
-
-
- 763 threadManager. reset();
- 764 unsigned long long threadId = 0ull;
-
- 766 auto queueOut = 1ull;
-
-
- 769 const auto wIdGenerator = std::make_shared<WIdGenerator<TDatumsSP>>();
- 770 std::vector<TWorker> workersAux{wIdGenerator};
-
- 772 if (scaleAndSizeExtractorW != nullptr)
- 773 workersAux = mergeVectors(workersAux, {scaleAndSizeExtractorW});
- 774 if (cvMatToOpInputW != nullptr)
- 775 workersAux = mergeVectors(workersAux, {cvMatToOpInputW});
-
- 777 if (cvMatToOpOutputW != nullptr)
- 778 workersAux = mergeVectors(workersAux, {cvMatToOpOutputW});
-
-
-
- 782 if (!userInputWs.empty() && userInputWsOnNewThread)
-
-
-
- 786 threadManager. add(threadId, userInputWs, queueIn++, queueOut++);
-
-
-
- 790 else if (!userInputWs.empty())
-
-
- 793 else if (datumProducerW != nullptr)
- 794 workersAux = mergeVectors({datumProducerW}, workersAux);
-
-
-
- 798 error( "No input selected.", __LINE__, __FUNCTION__, __FILE__);
-
-
- 801 threadManager. add(threadId, workersAux, queueIn++, queueOut++);
-
-
-
-
-
- 807 if (!poseExtractorsWs.empty())
-
- 809 if (multiThreadEnabled)
-
- 811 for ( auto& wPose : poseExtractorsWs)
-
-
- 814 threadManager. add(threadId, wPose, queueIn, queueOut);
-
-
-
-
-
- 820 if (poseExtractorsWs.size() > 1u)
-
- 822 const auto wQueueOrderer = std::make_shared<WQueueOrderer<TDatumsSP>>();
-
- 824 threadManager. add(threadId, wQueueOrderer, queueIn++, queueOut++);
-
-
-
-
-
- 830 if (poseExtractorsWs.size() > 1)
- 831 log( "Multi-threading disabled, only 1 thread running. All GPUs have been disabled but the"
- 832 " first one, which is defined by gpuNumberStart (e.g. in the OpenPose demo, it is set"
-
-
- 835 threadManager. add(threadId, poseExtractorsWs.at(0), queueIn++, queueOut++);
-
-
-
- 839 const auto wQueueAssembler = std::make_shared<WQueueAssembler<TDatumsSP, TDatums>>();
-
- 841 if (!poseTriangulationsWs.empty())
-
-
-
- 845 threadManager. add(threadId, wQueueAssembler, queueIn++, queueOut++);
-
-
- 848 if (multiThreadEnabled)
-
- 850 for ( auto& wPoseTriangulations : poseTriangulationsWs)
-
-
- 853 threadManager. add(threadId, wPoseTriangulations, queueIn, queueOut);
-
-
-
-
-
- 859 if (poseTriangulationsWs.size() > 1u)
-
- 861 const auto wQueueOrderer = std::make_shared<WQueueOrderer<TDatumsSP>>();
-
- 863 threadManager. add(threadId, wQueueOrderer, queueIn++, queueOut++);
-
-
-
-
-
- 869 if (poseTriangulationsWs.size() > 1)
- 870 log( "Multi-threading disabled, only 1 thread running for 3-D triangulation.",
-
-
- 873 threadManager. add(threadId, poseTriangulationsWs.at(0), queueIn++, queueOut++);
-
-
-
- 877 postProcessingWs = mergeVectors({wQueueAssembler}, postProcessingWs);
-
- 879 if (!jointAngleEstimationsWs.empty())
-
- 881 if (multiThreadEnabled)
-
- 883 for ( auto& wJointAngleEstimator : jointAngleEstimationsWs)
-
-
- 886 threadManager. add(threadId, wJointAngleEstimator, queueIn, queueOut);
-
-
-
-
-
- 892 if (jointAngleEstimationsWs.size() > 1)
-
- 894 const auto wQueueOrderer = std::make_shared<WQueueOrderer<TDatumsSP>>();
-
- 896 threadManager. add(threadId, wQueueOrderer, queueIn++, queueOut++);
-
-
-
-
-
- 902 if (jointAngleEstimationsWs.size() > 1)
- 903 log( "Multi-threading disabled, only 1 thread running for joint angle estimation.",
-
-
- 906 threadManager. add(threadId, jointAngleEstimationsWs.at(0), queueIn++, queueOut++);
-
-
-
- 910 if (!postProcessingWs.empty())
-
-
-
-
-
-
-
-
-
- 920 if (!userPostProcessingWs.empty())
-
-
- 923 if (userPostProcessingWsOnNewThread)
-
-
- 926 threadManager. add(threadId, userPostProcessingWs, queueIn++, queueOut++);
-
-
-
-
-
- 932 outputWs = mergeVectors(outputWs, userPostProcessingWs);
-
-
- 935 if (!outputWs.empty())
-
-
-
- 939 threadManager. add(threadId, outputWs, queueIn++, queueOut++);
-
-
-
-
- 944 if (!userOutputWs.empty())
-
- 946 if (userOutputWsOnNewThread)
-
-
- 949 threadManager. add(threadId, userOutputWs, queueIn++, queueOut++);
-
-
-
-
-
- 955 threadManager. add(threadId-1, userOutputWs, queueIn++, queueOut++);
-
-
-
-
-
-
-
- 963 threadManager. add(threadId, guiW, queueIn++, queueOut++);
-
-
-
-
- 968 catch ( const std::exception& e)
-
- 970 error(e.what(), __LINE__, __FUNCTION__, __FILE__);
-
-
-
-
- 975 #endif // OPENPOSE_WRAPPER_WRAPPER_AUXILIARY_HPP
+ 684 const auto guiInfoAdder = std::make_shared<GuiInfoAdder>(numberThreads, guiEnabled);
+
+
+
+
+
+
+
+ 692 std::vector<std::shared_ptr<Renderer>> renderers;
+
+ 694 renderers.emplace_back(std::static_pointer_cast<Renderer>(poseCpuRenderer));
+
+ 696 for ( const auto& poseGpuRenderer : poseGpuRenderers)
+ 697 renderers.emplace_back(std::static_pointer_cast<Renderer>(poseGpuRenderer));
+
+
+
+
+ 702 #ifdef USE_3D_ADAM_MODEL
+
+ 704 const auto gui = std::make_shared<GuiAdam>(
+
+ 706 spVideoSeek, poseExtractorNets, faceExtractorNets, handExtractorNets, renderers,
+ 707 wrapperStructOutput. displayMode, JointAngleEstimation::getTotalModel(),
+
+
+
+ 711 guiW = {std::make_shared<WGuiAdam<TDatumsSP>>(gui)};
+
+
+
+
+
+
+
+ 719 const auto gui = std::make_shared<Gui3D>(
+
+ 721 spVideoSeek, poseExtractorNets, faceExtractorNets, handExtractorNets, renderers,
+ 722 wrapperStructPose.poseModel, wrapperStructOutput. displayMode
+
+
+ 725 guiW = {std::make_shared<WGui3D<TDatumsSP>>(gui)};
+
+
+
+
+
+ 731 const auto gui = std::make_shared<Gui>(
+
+ 733 spVideoSeek, poseExtractorNets, faceExtractorNets, handExtractorNets, renderers
+
+
+ 736 guiW = {std::make_shared<WGui<TDatumsSP>>(gui)};
+
+
+ 739 error( "Unknown DisplayMode.", __LINE__, __FUNCTION__, __FILE__);
+
+
+
+
+
+
+
+
+
+
+
+ 751 if ((datumProducerW == nullptr) == (userInputWs.empty())
+
+
+
+ 755 const auto message = "You need to have 1 and only 1 producer selected. You can introduce your own"
+ 756 " producer by using setWorker(WorkerType::Input, ...) or use the OpenPose"
+ 757 " default producer by configuring it in the configure function) or use the"
+ 758 " ThreadManagerMode::Asynchronous(In) mode.";
+ 759 error(message, __LINE__, __FUNCTION__, __FILE__);
+
+ 761 if (outputWs.empty() && userOutputWs.empty() && guiW == nullptr
+
+
+
+ 765 error( "No output selected.", __LINE__, __FUNCTION__, __FILE__);
+
+
+
+
+ 770 threadManager. reset();
+ 771 unsigned long long threadId = 0ull;
+
+ 773 auto queueOut = 1ull;
+
+
+ 776 const auto wIdGenerator = std::make_shared<WIdGenerator<TDatumsSP>>();
+ 777 std::vector<TWorker> workersAux{wIdGenerator};
+
+ 779 if (scaleAndSizeExtractorW != nullptr)
+ 780 workersAux = mergeVectors(workersAux, {scaleAndSizeExtractorW});
+ 781 if (cvMatToOpInputW != nullptr)
+ 782 workersAux = mergeVectors(workersAux, {cvMatToOpInputW});
+
+ 784 if (cvMatToOpOutputW != nullptr)
+ 785 workersAux = mergeVectors(workersAux, {cvMatToOpOutputW});
+
+
+
+ 789 if (!userInputWs.empty() && userInputWsOnNewThread)
+
+
+
+ 793 threadManager. add(threadId, userInputWs, queueIn++, queueOut++);
+
+
+
+ 797 else if (!userInputWs.empty())
+
+
+ 800 else if (datumProducerW != nullptr)
+ 801 workersAux = mergeVectors({datumProducerW}, workersAux);
+
+
+
+ 805 error( "No input selected.", __LINE__, __FUNCTION__, __FILE__);
+
+
+ 808 threadManager. add(threadId, workersAux, queueIn++, queueOut++);
+
+
+
+
+
+ 814 if (!poseExtractorsWs.empty())
+
+ 816 if (multiThreadEnabled)
+
+ 818 for ( auto& wPose : poseExtractorsWs)
+
+
+ 821 threadManager. add(threadId, wPose, queueIn, queueOut);
+
+
+
+
+
+ 827 if (poseExtractorsWs.size() > 1u)
+
+ 829 const auto wQueueOrderer = std::make_shared<WQueueOrderer<TDatumsSP>>();
+
+ 831 threadManager. add(threadId, wQueueOrderer, queueIn++, queueOut++);
+
+
+
+
+
+ 837 if (poseExtractorsWs.size() > 1)
+ 838 log( "Multi-threading disabled, only 1 thread running. All GPUs have been disabled but the"
+ 839 " first one, which is defined by gpuNumberStart (e.g. in the OpenPose demo, it is set"
+
+
+ 842 threadManager. add(threadId, poseExtractorsWs.at(0), queueIn++, queueOut++);
+
+
+
+ 846 const auto wQueueAssembler = std::make_shared<WQueueAssembler<TDatumsSP, TDatums>>();
+
+ 848 if (!poseTriangulationsWs.empty())
+
+
+
+ 852 threadManager. add(threadId, wQueueAssembler, queueIn++, queueOut++);
+
+
+ 855 if (multiThreadEnabled)
+
+ 857 for ( auto& wPoseTriangulations : poseTriangulationsWs)
+
+
+ 860 threadManager. add(threadId, wPoseTriangulations, queueIn, queueOut);
+
+
+
+
+
+ 866 if (poseTriangulationsWs.size() > 1u)
+
+ 868 const auto wQueueOrderer = std::make_shared<WQueueOrderer<TDatumsSP>>();
+
+ 870 threadManager. add(threadId, wQueueOrderer, queueIn++, queueOut++);
+
+
+
+
+
+ 876 if (poseTriangulationsWs.size() > 1)
+ 877 log( "Multi-threading disabled, only 1 thread running for 3-D triangulation.",
+
+
+ 880 threadManager. add(threadId, poseTriangulationsWs.at(0), queueIn++, queueOut++);
+
+
+
+ 884 postProcessingWs = mergeVectors({wQueueAssembler}, postProcessingWs);
+
+ 886 if (!jointAngleEstimationsWs.empty())
+
+ 888 if (multiThreadEnabled)
+
+ 890 for ( auto& wJointAngleEstimator : jointAngleEstimationsWs)
+
+
+ 893 threadManager. add(threadId, wJointAngleEstimator, queueIn, queueOut);
+
+
+
+
+
+ 899 if (jointAngleEstimationsWs.size() > 1)
+
+ 901 const auto wQueueOrderer = std::make_shared<WQueueOrderer<TDatumsSP>>();
+
+ 903 threadManager. add(threadId, wQueueOrderer, queueIn++, queueOut++);
+
+
+
+
+
+ 909 if (jointAngleEstimationsWs.size() > 1)
+ 910 log( "Multi-threading disabled, only 1 thread running for joint angle estimation.",
+
+
+ 913 threadManager. add(threadId, jointAngleEstimationsWs.at(0), queueIn++, queueOut++);
+
+
+
+ 917 if (!postProcessingWs.empty())
+
+
+
+
+
+
+
+
+
+ 927 if (!userPostProcessingWs.empty())
+
+
+ 930 if (userPostProcessingWsOnNewThread)
+
+
+ 933 threadManager. add(threadId, userPostProcessingWs, queueIn++, queueOut++);
+
+
+
+
+
+ 939 outputWs = mergeVectors(outputWs, userPostProcessingWs);
+
+
+ 942 if (!outputWs.empty())
+
+
+
+ 946 threadManager. add(threadId, outputWs, queueIn++, queueOut++);
+
+
+
+
+ 951 if (!userOutputWs.empty())
+
+ 953 if (userOutputWsOnNewThread)
+
+
+ 956 threadManager. add(threadId, userOutputWs, queueIn++, queueOut++);
+
+
+
+
+
+ 962 threadManager. add(threadId-1, userOutputWs, queueIn++, queueOut++);
+
+
+
+
+
+
+
+ 970 threadManager. add(threadId, guiW, queueIn++, queueOut++);
+
+
+
+
+ 975 catch ( const std::exception& e)
+
+ 977 error(e.what(), __LINE__, __FUNCTION__, __FILE__);
+
+
+
+
+ 982 #endif // OPENPOSE_WRAPPER_WRAPPER_AUXILIARY_HPP
OP_API void threadIdPP(unsigned long long &threadId, const bool multiThreadEnabled)
@@ -1065,7 +1071,8 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
Definition: wGuiInfoAdder.hpp:11
-
+
+OP_API std::shared_ptr< Producer > createProducer(const ProducerType producerType=ProducerType::None, const std::string &producerString="", const Point< int > &cameraResolution=Point< int >{-1,-1}, const double webcamFps=30., const std::string &cameraParameterPath="models/cameraParameters/", const bool undistortImage=true, const unsigned int imageDirectoryStereo=-1)
std::array< T, N > array Definition: cl2.hpp:594
float alphaHeatMap Definition: wrapperStructFace.hpp:46
bool guiVerbose Definition: wrapperStructOutput.hpp:31
@@ -1073,11 +1080,12 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
Definition: wPoseSaver.hpp:12
+
Definition: wrapperStructPose.hpp:17
std::string writeKeypoint Definition: wrapperStructOutput.hpp:44
float alphaKeypoint Definition: wrapperStructFace.hpp:39
-
+
Definition: wFaceSaver.hpp:12
float alphaKeypoint Definition: wrapperStructHand.hpp:61
@@ -1099,20 +1107,19 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
float alphaHeatMap Definition: wrapperStructHand.hpp:68
-
+
Definition: wKeypointScaler.hpp:11
std::string writeHeatMaps Definition: wrapperStructOutput.hpp:100
std::string writeCocoJson Definition: wrapperStructOutput.hpp:67
-
void add(const unsigned long long threadId, const std::vector< TWorker > &tWorkers, const unsigned long long queueInId, const unsigned long long queueOutId) Definition: threadManager.hpp:125
Definition: wFaceDetector.hpp:11
+
void reset() Definition: threadManager.hpp:157
Definition: wrapperStructFace.hpp:15
-OP_API void wrapperConfigureSanityChecks(WrapperStructPose &wrapperStructPose, const WrapperStructFace &wrapperStructFace, const WrapperStructHand &wrapperStructHand, const WrapperStructExtra &wrapperStructExtra, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput, const bool renderOutput, const bool userOutputWsEmpty, const ThreadManagerMode threadManagerMode)
OP_API void error(const std::string &message, const int line=-1, const std::string &function="", const std::string &file="")
bool fullScreen Definition: wrapperStructOutput.hpp:37
@@ -1125,6 +1132,7 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
std::string writeCocoFootJson Definition: wrapperStructOutput.hpp:72
RenderMode renderMode Definition: wrapperStructPose.hpp:81
+OP_API void wrapperConfigureSanityChecks(WrapperStructPose &wrapperStructPose, const WrapperStructFace &wrapperStructFace, const WrapperStructHand &wrapperStructHand, const WrapperStructExtra &wrapperStructExtra, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput, const bool renderOutput, const bool userOutputWsEmpty, const std::shared_ptr< Producer > &producerSharedPtr, const ThreadManagerMode threadManagerMode)
float scaleRange Definition: wrapperStructHand.hpp:41
OP_API GpuMode getGpuMode()
RenderMode renderMode Definition: wrapperStructFace.hpp:33
@@ -1136,20 +1144,21 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
Definition: wOpOutputToCvMat.hpp:11
-
+
+
OP_API std::string formatAsDirectory(const std::string &directoryPathString)
Definition: wHandDetectorUpdate.hpp:11
-
+
Definition: wHandExtractorNet.hpp:11
std::string writeBvh Definition: wrapperStructOutput.hpp:125
Definition: wFaceRenderer.hpp:11
+
-
Definition: wPoseRenderer.hpp:11
@@ -1167,12 +1176,16 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
float renderThreshold Definition: wrapperStructHand.hpp:76
Definition: poseGpuRenderer.hpp:13
Definition: wHandDetector.hpp:11
+
std::string writeVideoAdam Definition: wrapperStructOutput.hpp:118
std::vector< T > mergeVectors(const std::vector< T > &vectorA, const std::vector< T > &vectorB) Definition: standard.hpp:40
+
+
Definition: wHandSaver.hpp:12
+
std::string writeVideo Definition: wrapperStructOutput.hpp:93
-
+
DisplayMode displayMode Definition: wrapperStructOutput.hpp:25
Point< int > netInputSize Definition: wrapperStructFace.hpp:27
@@ -1181,15 +1194,17 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
Definition: wHeatMapSaver.hpp:11
+
bool enable Definition: wrapperStructHand.hpp:20
ThreadManagerMode Definition: enumClasses.hpp:9
-OP_API void configureThreadManager(ThreadManager< TDatumsSP > &threadManager, const bool multiThreadEnabled, const ThreadManagerMode threadManagerMode, const WrapperStructPose &wrapperStructPose, const WrapperStructFace &wrapperStructFace, const WrapperStructHand &wrapperStructHand, const WrapperStructExtra &wrapperStructExtra, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput, const std::array< std::vector< TWorker >, int(WorkerType::Size)> &userWs, const std::array< bool, int(WorkerType::Size)> &userWsOnNewThread) Definition: wrapperAuxiliary.hpp:86
+OP_API void configureThreadManager(ThreadManager< TDatumsSP > &threadManager, const bool multiThreadEnabled, const ThreadManagerMode threadManagerMode, const WrapperStructPose &wrapperStructPose, const WrapperStructFace &wrapperStructFace, const WrapperStructHand &wrapperStructHand, const WrapperStructExtra &wrapperStructExtra, const WrapperStructInput &wrapperStructInput, const WrapperStructOutput &wrapperStructOutput, const std::array< std::vector< TWorker >, int(WorkerType::Size)> &userWs, const std::array< bool, int(WorkerType::Size)> &userWsOnNewThread) Definition: wrapperAuxiliary.hpp:84
+
#define OP_API Definition: macros.hpp:18
float renderThreshold Definition: wrapperStructFace.hpp:54
-
+
std::string writeImagesFormat Definition: wrapperStructOutput.hpp:86
-
+
Definition: wrapperStructOutput.hpp:14
@@ -1198,6 +1213,7 @@ $(document).ready(function(){initNavTree('wrapper_auxiliary_8hpp_source.html',''
OP_API int getGpuNumber()
Point< int > netInputSize Definition: wrapperStructHand.hpp:27
int scalesNumber Definition: wrapperStructHand.hpp:35
+
RenderMode renderMode Definition: wrapperStructHand.hpp:55
diff --git a/html/wrapper_struct_input_8hpp_source.html b/html/wrapper_struct_input_8hpp_source.html
index 64aa50e74742502ac4be4becea6668a08871361a..c02a6a68c3c421e207d3e9ac9338e66ea30daced 100644
--- a/html/wrapper_struct_input_8hpp_source.html
+++ b/html/wrapper_struct_input_8hpp_source.html
@@ -118,43 +118,69 @@ $(document).ready(function(){initNavTree('wrapper_struct_input_8hpp_source.html'
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
- 68 const unsigned long long frameFirst = 0, const unsigned long long frameStep = 1,
- 69 const unsigned long long frameLast = std::numeric_limits<unsigned long long>::max(),
- 70 const bool realTimeProcessing = false, const bool frameFlip = false,
- 71 const int frameRotate = 0, const bool framesRepeat = false);
-
-
-
- 75 #endif // OPENPOSE_WRAPPER_WRAPPER_STRUCT_INPUT_HPP
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100 const std::string& producerString = "", const unsigned long long frameFirst = 0,
+ 101 const unsigned long long frameStep = 1,
+ 102 const unsigned long long frameLast = std::numeric_limits<unsigned long long>::max(),
+ 103 const bool realTimeProcessing = false, const bool frameFlip = false,
+ 104 const int frameRotate = 0, const bool framesRepeat = false,
+
+ 106 const std::string& cameraParameterPath = "models/cameraParameters/",
+ 107 const bool undistortImage = true, const unsigned int imageDirectoryStereo = 1);
+
+
+
+ 111 #endif // OPENPOSE_WRAPPER_WRAPPER_STRUCT_INPUT_HPP
+
+
+
+
+
-
+
-
-
-
+
+
+
+
+
+
+
+ProducerType Definition: enumClasses.hpp:28
#define OP_API Definition: macros.hpp:18
-
-
+
+
+
+std::string string Definition: cl2.hpp:574
|