ITK  5.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
itk::OpenCVVideoCapture< TVideoStream > Class Template Reference

#include <itkOpenCVVideoCapture.h>

+ Inheritance diagram for itk::OpenCVVideoCapture< TVideoStream >:
+ Collaboration diagram for itk::OpenCVVideoCapture< TVideoStream >:

Detailed Description

template<typename TVideoStream>
class itk::OpenCVVideoCapture< TVideoStream >

This class implements OpenCV's VideoCapture API and takes an itk VideoStream as input.

This implementation of cv::VideoCapture provides the additional method open( itk::VideoStream* ) to "open" video data from an ITK pipeline. The traditional open methods will throw exceptions, so it can only be used to access the output of an ITK video pipeline from an OpenCV capture context.

Definition at line 50 of file itkOpenCVVideoCapture.h.

Public Types

using FrameType = typename VideoStreamType::FrameType
 
using PixelType = typename FrameType::PixelType
 
using Self = OpenCVVideoCapture< VideoStreamType >
 
using VideoStreamType = TVideoStream
 

Public Member Functions

virtual double get (int propId)
 
virtual bool grab ()
 
virtual bool isOpened () const
 
 itkTypeMacroNoParent (OpenCVVideoCapture)
 
virtual bool open (const std::string &)
 
virtual bool open (int)
 
virtual bool open (VideoStreamType *videoStream)
 
 OpenCVVideoCapture ()
 
 OpenCVVideoCapture (VideoStreamType *videoStream)
 
virtual Selfoperator>> (cv::Mat &image)
 
virtual bool read (cv::Mat &image)
 
virtual void release ()
 
virtual bool retrieve (cv::Mat &image, int channel=0)
 
virtual bool set (int propId, double value)
 
virtual ~OpenCVVideoCapture ()
 

Static Public Attributes

static constexpr unsigned int Dimensions = FrameType::ImageDimension
 

Protected Attributes

int m_FourCC
 
double m_FpS
 
VideoStreamTypem_VideoStream
 

Member Typedef Documentation

template<typename TVideoStream >
using itk::OpenCVVideoCapture< TVideoStream >::FrameType = typename VideoStreamType::FrameType

Definition at line 59 of file itkOpenCVVideoCapture.h.

template<typename TVideoStream >
using itk::OpenCVVideoCapture< TVideoStream >::PixelType = typename FrameType::PixelType

Definition at line 60 of file itkOpenCVVideoCapture.h.

template<typename TVideoStream >
using itk::OpenCVVideoCapture< TVideoStream >::Self = OpenCVVideoCapture<VideoStreamType>

Definition at line 58 of file itkOpenCVVideoCapture.h.

template<typename TVideoStream >
using itk::OpenCVVideoCapture< TVideoStream >::VideoStreamType = TVideoStream

-CONSTRUCTORS AND DESTRUCTOR--------------------------------------—— ITK stype type alias

Definition at line 57 of file itkOpenCVVideoCapture.h.

Constructor & Destructor Documentation

template<typename TVideoStream >
itk::OpenCVVideoCapture< TVideoStream >::OpenCVVideoCapture ( )

Constructor that initializes internal VideoStream to null

template<typename TVideoStream >
itk::OpenCVVideoCapture< TVideoStream >::OpenCVVideoCapture ( VideoStreamType videoStream)

Constructor that takes a VideoStream as input

template<typename TVideoStream >
virtual itk::OpenCVVideoCapture< TVideoStream >::~OpenCVVideoCapture ( )
inlinevirtual

Destructor that does nothing. The VideoStream will be freed by the source that generated it.

Definition at line 71 of file itkOpenCVVideoCapture.h.

Member Function Documentation

template<typename TVideoStream >
virtual double itk::OpenCVVideoCapture< TVideoStream >::get ( int  propId)
virtual

Get a property

template<typename TVideoStream >
virtual bool itk::OpenCVVideoCapture< TVideoStream >::grab ( )
virtual

-FRAME ACCESS-----------------------------------------------------—— Grab the next frame from the VideoStream

template<typename TVideoStream >
virtual bool itk::OpenCVVideoCapture< TVideoStream >::isOpened ( ) const
inlinevirtual

Check if the VideoStream is null

Definition at line 100 of file itkOpenCVVideoCapture.h.

template<typename TVideoStream >
itk::OpenCVVideoCapture< TVideoStream >::itkTypeMacroNoParent ( OpenCVVideoCapture< TVideoStream >  )

ITK's type info

template<typename TVideoStream >
virtual bool itk::OpenCVVideoCapture< TVideoStream >::open ( const std::string &  )
inlinevirtual

-OPEN CLOSE FUNCTIONALITY-----------------------------------------—— overload reading from file and camera just to throw exceptions

Definition at line 81 of file itkOpenCVVideoCapture.h.

template<typename TVideoStream >
virtual bool itk::OpenCVVideoCapture< TVideoStream >::open ( int  )
inlinevirtual

Definition at line 88 of file itkOpenCVVideoCapture.h.

template<typename TVideoStream >
virtual bool itk::OpenCVVideoCapture< TVideoStream >::open ( VideoStreamType videoStream)
virtual

Add an open method that takes a TemporalDataObject. This checks to make sure that it can be cast to a VideoStream

template<typename TVideoStream >
virtual Self& itk::OpenCVVideoCapture< TVideoStream >::operator>> ( cv::Mat &  image)
virtual

Stream the next frame into the provided image. Equivalent to grab() + retrieve(image, 0)

template<typename TVideoStream >
virtual bool itk::OpenCVVideoCapture< TVideoStream >::read ( cv::Mat &  image)
virtual

non-operator version of >>'s functionality

template<typename TVideoStream >
virtual void itk::OpenCVVideoCapture< TVideoStream >::release ( )
virtual

Just set the internal pointer to null. Let the upstream filters take care of actually freeing the memory

template<typename TVideoStream >
virtual bool itk::OpenCVVideoCapture< TVideoStream >::retrieve ( cv::Mat &  image,
int  channel = 0 
)
virtual

Access the current frame of the VideoStream

template<typename TVideoStream >
virtual bool itk::OpenCVVideoCapture< TVideoStream >::set ( int  propId,
double  value 
)
virtual

-PROPERTIES-------------------------------------------------------—— Set a property

Member Data Documentation

template<typename TVideoStream >
constexpr unsigned int itk::OpenCVVideoCapture< TVideoStream >::Dimensions = FrameType::ImageDimension
static

Definition at line 61 of file itkOpenCVVideoCapture.h.

template<typename TVideoStream >
int itk::OpenCVVideoCapture< TVideoStream >::m_FourCC
protected

Definition at line 139 of file itkOpenCVVideoCapture.h.

template<typename TVideoStream >
double itk::OpenCVVideoCapture< TVideoStream >::m_FpS
protected

Property members

Definition at line 138 of file itkOpenCVVideoCapture.h.

template<typename TVideoStream >
VideoStreamType* itk::OpenCVVideoCapture< TVideoStream >::m_VideoStream
protected

Internal VideoStream

Definition at line 135 of file itkOpenCVVideoCapture.h.


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