OpenPose  1.0.0rc2
OpenPose: A Real-Time Multi-Person Key-Point Detection And Multi-Threading C++ Library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
gui.hpp
Go to the documentation of this file.
1 #ifndef OPENPOSE_GUI_GUI_HPP
2 #define OPENPOSE_GUI_GUI_HPP
3 
4 #include <atomic>
5 #include <opencv2/core/core.hpp> // cv::Mat
12 
13 namespace op
14 {
15  class OP_API Gui
16  {
17  public:
18  Gui(const Point<int>& outputSize, const bool fullScreen,
19  const std::shared_ptr<std::atomic<bool>>& isRunningSharedPtr,
20  const std::shared_ptr<std::pair<std::atomic<bool>, std::atomic<int>>>& videoSeekSharedPtr = nullptr,
21  const std::vector<std::shared_ptr<PoseExtractorNet>>& poseExtractorNets = {},
22  const std::vector<std::shared_ptr<FaceExtractorNet>>& faceExtractorNets = {},
23  const std::vector<std::shared_ptr<HandExtractorNet>>& handExtractorNets = {},
24  const std::vector<std::shared_ptr<Renderer>>& renderers = {},
25  const DisplayMode displayMode = DisplayMode::Display2D);
26 
27  virtual void initializationOnThread();
28 
29  void setImage(const cv::Mat& cvMatOutput);
30 
31  void setImage(const std::vector<cv::Mat>& cvMatOutputs);
32 
33  virtual void update();
34 
35  protected:
36  std::shared_ptr<std::atomic<bool>> spIsRunning;
39 
40  private:
41  // Frames display
42  FrameDisplayer mFrameDisplayer;
43  // Other variables
44  std::vector<std::shared_ptr<PoseExtractorNet>> mPoseExtractorNets;
45  std::vector<std::shared_ptr<FaceExtractorNet>> mFaceExtractorNets;
46  std::vector<std::shared_ptr<HandExtractorNet>> mHandExtractorNets;
47  std::vector<std::shared_ptr<Renderer>> mRenderers;
48  std::shared_ptr<std::pair<std::atomic<bool>, std::atomic<int>>> spVideoSeek;
49  };
50 }
51 
52 #endif // OPENPOSE_GUI_GUI_HPP
std::shared_ptr< std::atomic< bool > > spIsRunning
Definition: gui.hpp:36
Definition: frameDisplayer.hpp:13
DisplayMode
Definition: enumClasses.hpp:10
DisplayMode mDisplayModeOriginal
Definition: gui.hpp:38
DisplayMode mDisplayMode
Definition: gui.hpp:37
std::vector< T, Alloc > vector
Definition: cl2.hpp:567
#define OP_API
Definition: macros.hpp:16
Definition: gui.hpp:15