1 #ifndef OPENPOSE_PRODUCER_PRODUCER_HPP
2 #define OPENPOSE_PRODUCER_PRODUCER_HPP
4 #include <opencv2/core/core.hpp>
5 #include <opencv2/highgui/highgui.hpp>
41 std::vector<cv::Mat> getFrames();
47 virtual std::vector<cv::Mat> getCameraMatrices() = 0;
53 virtual std::vector<cv::Mat> getCameraExtrinsics() = 0;
59 virtual std::vector<cv::Mat> getCameraIntrinsics() = 0;
89 virtual bool isOpened()
const = 0;
95 virtual void release() = 0;
104 virtual double get(
const int capProperty) = 0;
113 virtual void set(
const int capProperty,
const double value) = 0;
135 void checkFrameIntegrity(cv::Mat& frame);
141 void flipAndRotate(cv::Mat& cvMat)
const;
147 void ifEndedResetOrRelease();
152 void keepDesiredFrameRate();
158 virtual cv::Mat getRawFrame() = 0;
165 virtual std::vector<cv::Mat> getRawFrames() = 0;
170 std::array<double, (int)ProducerProperty::Size> mProperties;
171 unsigned int mNumberEmptyFrames;
174 unsigned long long mFirstFrameTrackingFps;
175 unsigned long long mNumberFramesTrackingFps;
176 unsigned int mNumberSetPositionTrackingFps;
177 std::chrono::high_resolution_clock::time_point mClockTrackingFps;
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:14
Definition: producer.hpp:15
ProducerType getType()
Definition: producer.hpp:79
ProducerType
Definition: enumClasses.hpp:28
#define OP_API
Definition: macros.hpp:18
std::string string
Definition: cl2.hpp:574