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
netOpenCv.hpp
Go to the documentation of this file.
1 #ifndef OPENPOSE_NET_NET_OPEN_CV_HPP
2 #define OPENPOSE_NET_NET_OPEN_CV_HPP
3 
5 #include <openpose/net/net.hpp>
6 
7 namespace op
8 {
9  class OP_API NetOpenCv : public Net
10  {
11  public:
12  NetOpenCv(const std::string& caffeProto, const std::string& caffeTrainedModel, const int gpuId = 0);
13 
14  virtual ~NetOpenCv();
15 
16  void initializationOnThread();
17 
18  void forwardPass(const Array<float>& inputNetData) const;
19 
20  boost::shared_ptr<caffe::Blob<float>> getOutputBlob() const;
21 
22  private:
23  // PIMPL idiom
24  // http://www.cppsamples.com/common-tasks/pimpl.html
25  struct ImplNetOpenCv;
26  std::unique_ptr<ImplNetOpenCv> upImpl;
27 
28  // PIMP requires DELETE_COPY & destructor, or extra code
29  // http://oliora.github.io/2015/12/29/pimpl-and-rule-of-zero.html
31  };
32 }
33 
34 #endif // OPENPOSE_NET_NET_OPEN_CV_HPP
#define DELETE_COPY(className)
Definition: macros.hpp:34
Definition: macros.hpp:85
Definition: net.hpp:8
Definition: netOpenCv.hpp:9
#define OP_API
Definition: macros.hpp:19
std::string string
Definition: cl2.hpp:574