OpenPose  1.7.0
The first real-time multi-person system to jointly detect human body, hand, facial, and foot keypoints
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 
17 
18  void forwardPass(const Array<float>& inputNetData) const;
19 
20  std::shared_ptr<ArrayCpuGpu<float>> getOutputBlobArray() 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
Definition: net.hpp:9
virtual ~NetOpenCv()
void initializationOnThread()
std::shared_ptr< ArrayCpuGpu< float > > getOutputBlobArray() const
void forwardPass(const Array< float > &inputNetData) const
NetOpenCv(const std::string &caffeProto, const std::string &caffeTrainedModel, const int gpuId=0)
#define OP_API
Definition: macros.hpp:18
#define DELETE_COPY(className)
Definition: macros.hpp:32