All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
videoCaptureReader.hpp
Go to the documentation of this file.
#ifndef OPENPOSE_PRODUCER_VIDEO_CAPTURE_READER_HPP
#define OPENPOSE_PRODUCER_VIDEO_CAPTURE_READER_HPP
#include <opencv2/core/core.hpp> // cv::Mat
#include <opencv2/highgui/highgui.hpp> // cv::VideoCapture
#include <openpose/core/common.hpp>
#include <openpose/producer/producer.hpp>
namespace op
{
class OP_API VideoCaptureReader : public Producer
{
public:
explicit VideoCaptureReader(const int index, const bool throwExceptionIfNoOpened);
explicit VideoCaptureReader(const std::string& path, const ProducerType producerType);
virtual ~VideoCaptureReader();
virtual std::string getNextFrameName() = 0;
virtual bool isOpened() const;
void release();
virtual double get(const int capProperty) = 0;
virtual void set(const int capProperty, const double value) = 0;
protected:
virtual cv::Mat getRawFrame() = 0;
virtual std::vector<cv::Mat> getRawFrames() = 0;
void resetWebcam(const int index, const bool throwExceptionIfNoOpened);
private:
cv::VideoCapture mVideoCapture;
DELETE_COPY(VideoCaptureReader);
};
}
#endif // OPENPOSE_PRODUCER_VIDEO_CAPTURE_READER_HPP
DELETE_COPY
#define DELETE_COPY(className)
Definition: macros.hpp:34
op::VideoCaptureReader
Definition: videoCaptureReader.hpp:15
op::Producer
Definition: producer.hpp:15
common.hpp
op::ProducerType
ProducerType
Definition: enumClasses.hpp:28
producer.hpp
OP_API
#define OP_API
Definition: macros.hpp:19
cl::string
std::string string
Definition: cl2.hpp:574