OpenPose  1.7.0
The first real-time multi-person system to jointly detect human body, hand, facial, and foot keypoints
op::VideoCaptureReader Class Referenceabstract

#include <videoCaptureReader.hpp>

Inheritance diagram for op::VideoCaptureReader:
op::Producer op::IpCameraReader op::VideoReader op::WebcamReader

Public Member Functions

 VideoCaptureReader (const int index, const bool throwExceptionIfNoOpened, const std::string &cameraParameterPath, const bool undistortImage, const int numberViews)
 
 VideoCaptureReader (const std::string &path, const ProducerType producerType, const std::string &cameraParameterPath, const bool undistortImage, const int numberViews)
 
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
 
- Public Member Functions inherited from op::Producer
 Producer (const ProducerType type, const std::string &cameraParameterPath, const bool undistortImage, const int mNumberViews)
 
virtual ~Producer ()
 
Matrix getFrame ()
 
std::vector< MatrixgetFrames ()
 
virtual std::vector< MatrixgetCameraMatrices ()
 
virtual std::vector< MatrixgetCameraExtrinsics ()
 
virtual std::vector< MatrixgetCameraIntrinsics ()
 
void setProducerFpsMode (const ProducerFpsMode fpsMode)
 
ProducerType getType ()
 
double get (const ProducerProperty property)
 
void set (const ProducerProperty property, const double value)
 

Protected Member Functions

virtual Matrix getRawFrame ()=0
 
virtual std::vector< MatrixgetRawFrames ()=0
 
void resetWebcam (const int index, const bool throwExceptionIfNoOpened)
 
- Protected Member Functions inherited from op::Producer
void checkFrameIntegrity (Matrix &frame)
 
void ifEndedResetOrRelease ()
 
void keepDesiredFrameRate ()
 

Detailed Description

VideoCaptureReader is an abstract class to extract frames from a cv::VideoCapture source (video file, webcam stream, etc.). It has the basic and common functions of the cv::VideoCapture class (e.g., get, set, etc.).

Definition at line 13 of file videoCaptureReader.hpp.

Constructor & Destructor Documentation

◆ VideoCaptureReader() [1/2]

op::VideoCaptureReader::VideoCaptureReader ( const int  index,
const bool  throwExceptionIfNoOpened,
const std::string &  cameraParameterPath,
const bool  undistortImage,
const int  numberViews 
)
explicit

This constructor of VideoCaptureReader wraps cv::VideoCapture(const int).

Parameters
indexconst int indicating the cv::VideoCapture constructor int argument, in the range [0, 9].

◆ VideoCaptureReader() [2/2]

op::VideoCaptureReader::VideoCaptureReader ( const std::string &  path,
const ProducerType  producerType,
const std::string &  cameraParameterPath,
const bool  undistortImage,
const int  numberViews 
)
explicit

This constructor of VideoCaptureReader wraps cv::VideoCapture(const std::string).

Parameters
pathconst std::string indicating the cv::VideoCapture constructor string argument.
producerTypeconst std::string indicating whether the frame source is an IP camera or video.

◆ ~VideoCaptureReader()

virtual op::VideoCaptureReader::~VideoCaptureReader ( )
virtual

Destructor of VideoCaptureReader. It releases the cv::VideoCapture member. It is virtual so that any children class can implement its own destructor.

Member Function Documentation

◆ get()

virtual double op::VideoCaptureReader::get ( const int  capProperty)
pure virtual

This function is a wrapper of cv::VideoCapture::get. It allows getting different properties of the Producer (fps, width, height, etc.). See the OpenCV documentation for all the available properties.

Parameters
capPropertyint indicating the property to be modified.
Returns
double returning the property value.

Implements op::Producer.

Implemented in op::WebcamReader, op::VideoReader, and op::IpCameraReader.

◆ getNextFrameName()

virtual std::string op::VideoCaptureReader::getNextFrameName ( )
pure virtual

This function returns a unique frame name (e.g., the frame number for video, the frame counter for webcam, the image name for image directory reader, etc.).

Returns
std::string with an unique frame name.

Implements op::Producer.

Implemented in op::WebcamReader, op::VideoReader, and op::IpCameraReader.

◆ getRawFrame()

virtual Matrix op::VideoCaptureReader::getRawFrame ( )
protectedpure virtual

Function to be defined by its children class. It retrieves and returns a new frame from the frames producer.

Returns
Mat with the new frame.

Implements op::Producer.

◆ getRawFrames()

virtual std::vector<Matrix> op::VideoCaptureReader::getRawFrames ( )
protectedpure virtual

Function to be defined by its children class. It retrieves and returns a new frame from the frames producer. It is equivalent to getRawFrame when more than 1 image can be returned.

Returns
std::vector<Mat> with the new frames.

Implements op::Producer.

◆ isOpened()

virtual bool op::VideoCaptureReader::isOpened ( ) const
virtual

This function returns whether the Producer instance is still opened and able to retrieve more frames.

Returns
bool indicating whether the Producer is opened.

Implements op::Producer.

Reimplemented in op::WebcamReader, op::VideoReader, and op::IpCameraReader.

◆ release()

void op::VideoCaptureReader::release ( )
virtual

This function releases and closes the Producer. After it is called, no more frames can be retrieved from Producer::getFrames.

Implements op::Producer.

◆ resetWebcam()

void op::VideoCaptureReader::resetWebcam ( const int  index,
const bool  throwExceptionIfNoOpened 
)
protected

◆ set()

virtual void op::VideoCaptureReader::set ( const int  capProperty,
const double  value 
)
pure virtual

This function is a wrapper of cv::VideoCapture::set. It allows setting different properties of the Producer (fps, width, height, etc.). See the OpenCV documentation for all the available properties.

Parameters
capPropertyint indicating the property to be modified.
valuedouble indicating the new value to be assigned.

Implements op::Producer.

Implemented in op::WebcamReader, op::VideoReader, and op::IpCameraReader.


The documentation for this class was generated from the following file: