1 #ifndef OPENPOSE_PRODUCER_PRODUCER_HPP
2 #define OPENPOSE_PRODUCER_PRODUCER_HPP
5 #include <opencv2/core/core.hpp>
6 #include <opencv2/highgui/highgui.hpp>
42 std::vector<cv::Mat> getFrames();
48 virtual std::vector<cv::Mat> getCameraMatrices() = 0;
54 virtual std::vector<cv::Mat> getCameraExtrinsics() = 0;
60 virtual std::vector<cv::Mat> getCameraIntrinsics() = 0;
90 virtual bool isOpened()
const = 0;
96 virtual void release() = 0;
105 virtual double get(
const int capProperty) = 0;
114 virtual void set(
const int capProperty,
const double value) = 0;
136 void checkFrameIntegrity(cv::Mat& frame);
142 void flipAndRotate(cv::Mat& cvMat)
const;
148 void ifEndedResetOrRelease();
153 void keepDesiredFrameRate();
159 virtual cv::Mat getRawFrame() = 0;
166 virtual std::vector<cv::Mat> getRawFrames() = 0;
171 std::array<double, (int)ProducerProperty::Size> mProperties;
172 unsigned int mNumberEmptyFrames;
175 unsigned long long mFirstFrameTrackingFps;
176 unsigned long long mNumberFramesTrackingFps;
177 unsigned int mNumberSetPositionTrackingFps;
178 std::chrono::high_resolution_clock::time_point mClockTrackingFps;
184 #endif // OPENPOSE_PRODUCER_PRODUCER_HPP
#define DELETE_COPY(className)
Definition: macros.hpp:31
ProducerFpsMode
Definition: enumClasses.hpp:6
ProducerProperty
Definition: enumClasses.hpp:12
Definition: producer.hpp:16
ProducerType getType()
Definition: producer.hpp:80
ProducerType
Definition: enumClasses.hpp:25
#define OP_API
Definition: macros.hpp:16
std::string string
Definition: cl2.hpp:574