Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
mitk::OpenCVVideoSource Class Reference

#include <mitkOpenCVVideoSource.h>

Inheritance diagram for mitk::OpenCVVideoSource:
Collaboration diagram for mitk::OpenCVVideoSource:

Public Types

typedef itk::RGBPixel< unsigned char > CharPixelType
 
typedef itk::FixedArray< float, 3 > HSVPixelType
 
typedef itk::Image< CharPixelType, 2 > RGBPixelImageType
 
typedef itk::Image< HSVPixelType, 2 > HSVPixelImageType
 
typedef itk::ImageRegionIterator< RGBPixelImageTypeRGBConstIteratorType
 
typedef itk::ImageRegionIterator< HSVPixelImageTypeHSVConstIteratorType
 

Public Member Functions

 mitkClassMacro (OpenCVVideoSource, VideoSource)
 
Pointer Clone () const
 
virtual void SetVideoFileInput (const char *filename, bool repeatVideo, bool useCVCAMLib=false)
 
virtual void SetVideoCameraInput (int cameraindex, bool useCVCAMLib=false)
 
virtual double GetVideoCaptureProperty (int property_id)
 
virtual int SetVideoCaptureProperty (int property_id, double value)
 
virtual void GetCurrentFrameAsOpenCVImage (IplImage *image)
 
cv::Mat GetImage () override
 
virtual const IplImage * GetCurrentFrame ()
 
virtual void GetCurrentFrameAsItkHSVPixelImage (HSVPixelImageType::Pointer &Image)
 
void FetchFrame () override
 
unsigned char * GetVideoTexture () override
 
void StartCapturing () override
 
void StopCapturing () override
 
virtual IplImage * FlipImage (IplImage *input)
 
virtual void EnableOnlineImageUndistortion (mitk::Point3D focal, mitk::Point3D principal, mitk::Point4D distortion)
 
virtual void DisableOnlineImageUndistortion ()
 
virtual bool OnlineImageUndistortionEnabled () const
 
void PauseCapturing () override
 
virtual std::string GetVideoFileName () const
 
virtual void SetEnableXAxisFlip (bool enable)
 
virtual void SetEnableYAxisFlip (bool enable)
 
virtual short GetGrabbingDeviceNumber () const
 
virtual bool GetRepeatVideo ()
 
virtual void SetRepeatVideo (bool _arg)
 
- Public Member Functions inherited from mitk::VideoSource
 mitkClassMacroItkParent (VideoSource, itk::Object)
 
virtual bool IsCapturingEnabled () const
 
virtual int GetImageWidth ()
 
virtual int GetImageHeight ()
 
virtual unsigned long GetFrameCount () const
 
virtual bool GetCapturePaused () const
 
- Public Member Functions inherited from mitk::OpenCVImageSource
 mitkClassMacroItkParent (OpenCVImageSource, itk::Object)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 OpenCVVideoSource ()
 
 ~OpenCVVideoSource () override
 
void Reset ()
 
void UpdateVideoTexture ()
 
void sleep (unsigned int ms)
 
void RGBtoHSV (float r, float g, float b, float &h, float &s, float &v)
 
- Protected Member Functions inherited from mitk::VideoSource
 VideoSource ()
 
 ~VideoSource () override
 

Protected Attributes

CvCapture * m_VideoCapture
 
IplImage * m_CurrentImage
 
unsigned char * m_CurrentVideoTexture
 
IplImage * m_PauseImage
 
std::string m_VideoFileName
 saves the video file name (is empty if a grabbing device is used or if this is not initialized) More...
 
short m_GrabbingDeviceNumber
 saves the grabbing device number (is -1 if a videofilename is used or if this is not initialized) More...
 
bool m_RepeatVideo
 
bool m_UseCVCAMLib
 
bool m_UndistortImage
 
mitk::UndistortCameraImage::Pointer m_UndistortCameraImage
 
bool m_FlipXAxisEnabled
 
bool m_FlipYAxisEnabled
 
- Protected Attributes inherited from mitk::VideoSource
unsigned char * m_CurrentVideoTexture
 
int m_CaptureWidth
 
int m_CaptureHeight
 
bool m_CapturingInProcess
 
unsigned long m_FrameCount
 
bool m_CapturePaused
 

Detailed Description

Interface for acquiring video data using Intel's OPENCV library. Video data may either be provided from a file or a grabbing device. At the moment, OPENCV includes two separated modules for this grabbing, but only HighGui is used here. Initialize via SetVideoFileInput() or SetVideoCameraInput(), start processing with StartCapturing();

Definition at line 39 of file mitkOpenCVVideoSource.h.

Member Typedef Documentation

◆ CharPixelType

typedef itk::RGBPixel< unsigned char > mitk::OpenCVVideoSource::CharPixelType

Definition at line 43 of file mitkOpenCVVideoSource.h.

◆ HSVConstIteratorType

Definition at line 48 of file mitkOpenCVVideoSource.h.

◆ HSVPixelImageType

◆ HSVPixelType

typedef itk::FixedArray<float,3> mitk::OpenCVVideoSource::HSVPixelType

Definition at line 44 of file mitkOpenCVVideoSource.h.

◆ RGBConstIteratorType

Definition at line 47 of file mitkOpenCVVideoSource.h.

◆ RGBPixelImageType

Constructor & Destructor Documentation

◆ OpenCVVideoSource()

mitk::OpenCVVideoSource::OpenCVVideoSource ( )
protected

◆ ~OpenCVVideoSource()

mitk::OpenCVVideoSource::~OpenCVVideoSource ( )
overrideprotected

Member Function Documentation

◆ Clone()

Pointer mitk::OpenCVVideoSource::Clone ( ) const

◆ DisableOnlineImageUndistortion()

virtual void mitk::OpenCVVideoSource::DisableOnlineImageUndistortion ( )
virtual

◆ EnableOnlineImageUndistortion()

virtual void mitk::OpenCVVideoSource::EnableOnlineImageUndistortion ( mitk::Point3D  focal,
mitk::Point3D  principal,
mitk::Point4D  distortion 
)
virtual

◆ FetchFrame()

void mitk::OpenCVVideoSource::FetchFrame ( )
overridevirtual

assigns the grabbing devices for acquiring the next frame. in this base implementation it does nothing except incrementing m_FrameCount

Reimplemented from mitk::VideoSource.

Reimplemented in mitk::VideoInputSource.

◆ FlipImage()

virtual IplImage* mitk::OpenCVVideoSource::FlipImage ( IplImage *  input)
virtual

◆ GetCurrentFrame()

virtual const IplImage* mitk::OpenCVVideoSource::GetCurrentFrame ( )
virtual

◆ GetCurrentFrameAsItkHSVPixelImage()

virtual void mitk::OpenCVVideoSource::GetCurrentFrameAsItkHSVPixelImage ( HSVPixelImageType::Pointer &  Image)
virtual

◆ GetCurrentFrameAsOpenCVImage()

virtual void mitk::OpenCVVideoSource::GetCurrentFrameAsOpenCVImage ( IplImage *  image)
virtual

◆ GetGrabbingDeviceNumber()

virtual short mitk::OpenCVVideoSource::GetGrabbingDeviceNumber ( ) const
virtual

Returns the GrabbingDeviceNumber (maybe -1 if a video file is used)

◆ GetImage()

cv::Mat mitk::OpenCVVideoSource::GetImage ( )
overridevirtual
Returns
a copy of the image as opencv 2 Mat

Implements mitk::OpenCVImageSource.

◆ GetRepeatVideo()

virtual bool mitk::OpenCVVideoSource::GetRepeatVideo ( )
virtual

◆ GetVideoCaptureProperty()

virtual double mitk::OpenCVVideoSource::GetVideoCaptureProperty ( int  property_id)
virtual

◆ GetVideoFileName()

virtual std::string mitk::OpenCVVideoSource::GetVideoFileName ( ) const
virtual

Returns the video file name (maybe empty if a grabbing device is used)

◆ GetVideoTexture()

unsigned char* mitk::OpenCVVideoSource::GetVideoTexture ( )
overridevirtual
Returns
a pointer to the image data array for opengl rendering.

Implements mitk::VideoSource.

◆ mitkClassMacro()

mitk::OpenCVVideoSource::mitkClassMacro ( OpenCVVideoSource  ,
VideoSource   
)

◆ New()

static Pointer mitk::OpenCVVideoSource::New ( )
static

◆ OnlineImageUndistortionEnabled()

virtual bool mitk::OpenCVVideoSource::OnlineImageUndistortionEnabled ( ) const
virtual
Returns
true if image undistorsion is enabled

◆ PauseCapturing()

void mitk::OpenCVVideoSource::PauseCapturing ( )
overridevirtual

toggles m_CapturePaused In Subclasses this function can be overwritten to take measurs to provide a pause image, BUT DO NOT FORGET TO TOGGLE m_CapturePaused

Reimplemented from mitk::VideoSource.

◆ Reset()

void mitk::OpenCVVideoSource::Reset ( )
protected

Resets the whole class for capturing from a new device

◆ RGBtoHSV()

void mitk::OpenCVVideoSource::RGBtoHSV ( float  r,
float  g,
float  b,
float &  h,
float &  s,
float &  v 
)
protected

◆ SetEnableXAxisFlip()

virtual void mitk::OpenCVVideoSource::SetEnableXAxisFlip ( bool  enable)
virtual

◆ SetEnableYAxisFlip()

virtual void mitk::OpenCVVideoSource::SetEnableYAxisFlip ( bool  enable)
virtual

◆ SetRepeatVideo()

virtual void mitk::OpenCVVideoSource::SetRepeatVideo ( bool  _arg)
virtual

◆ SetVideoCameraInput()

virtual void mitk::OpenCVVideoSource::SetVideoCameraInput ( int  cameraindex,
bool  useCVCAMLib = false 
)
virtual

Reimplemented in mitk::VideoInputSource.

◆ SetVideoCaptureProperty()

virtual int mitk::OpenCVVideoSource::SetVideoCaptureProperty ( int  property_id,
double  value 
)
virtual

◆ SetVideoFileInput()

virtual void mitk::OpenCVVideoSource::SetVideoFileInput ( const char *  filename,
bool  repeatVideo,
bool  useCVCAMLib = false 
)
virtual

Reimplemented in mitk::VideoInputSource.

◆ sleep()

void mitk::OpenCVVideoSource::sleep ( unsigned int  ms)
protected

◆ StartCapturing()

void mitk::OpenCVVideoSource::StartCapturing ( )
overridevirtual

advices this class to start the video capturing. in this base implementation: toggles m_CapturingInProcess, resets m_FrameCount ATTENTION: this should be also done in subclasses overwriting this method

Reimplemented from mitk::VideoSource.

Reimplemented in mitk::VideoInputSource.

◆ StopCapturing()

void mitk::OpenCVVideoSource::StopCapturing ( )
overridevirtual

advices this class to stop the video capturing. in this base implementation: toggles m_CapturingInProcess, resets m_FrameCount ATTENTION: this should be also done in subclasses overwriting this method

Reimplemented from mitk::VideoSource.

Reimplemented in mitk::VideoInputSource.

◆ UpdateVideoTexture()

void mitk::OpenCVVideoSource::UpdateVideoTexture ( )
protected

Member Data Documentation

◆ m_CurrentImage

IplImage* mitk::OpenCVVideoSource::m_CurrentImage
protected

Definition at line 159 of file mitkOpenCVVideoSource.h.

◆ m_CurrentVideoTexture

unsigned char* mitk::OpenCVVideoSource::m_CurrentVideoTexture
protected

Definition at line 160 of file mitkOpenCVVideoSource.h.

◆ m_FlipXAxisEnabled

bool mitk::OpenCVVideoSource::m_FlipXAxisEnabled
protected

Flag to enable or disable video flipping by X Axis.

Definition at line 185 of file mitkOpenCVVideoSource.h.

◆ m_FlipYAxisEnabled

bool mitk::OpenCVVideoSource::m_FlipYAxisEnabled
protected

Flag to enable or disable video flipping by Y Axis.

Definition at line 190 of file mitkOpenCVVideoSource.h.

◆ m_GrabbingDeviceNumber

short mitk::OpenCVVideoSource::m_GrabbingDeviceNumber
protected

saves the grabbing device number (is -1 if a videofilename is used or if this is not initialized)

Definition at line 170 of file mitkOpenCVVideoSource.h.

◆ m_PauseImage

IplImage* mitk::OpenCVVideoSource::m_PauseImage
protected

Definition at line 162 of file mitkOpenCVVideoSource.h.

◆ m_RepeatVideo

bool mitk::OpenCVVideoSource::m_RepeatVideo
protected

Definition at line 173 of file mitkOpenCVVideoSource.h.

◆ m_UndistortCameraImage

mitk::UndistortCameraImage::Pointer mitk::OpenCVVideoSource::m_UndistortCameraImage
protected

Definition at line 180 of file mitkOpenCVVideoSource.h.

◆ m_UndistortImage

bool mitk::OpenCVVideoSource::m_UndistortImage
protected

Definition at line 179 of file mitkOpenCVVideoSource.h.

◆ m_UseCVCAMLib

bool mitk::OpenCVVideoSource::m_UseCVCAMLib
protected

Definition at line 176 of file mitkOpenCVVideoSource.h.

◆ m_VideoCapture

CvCapture* mitk::OpenCVVideoSource::m_VideoCapture
protected

Definition at line 156 of file mitkOpenCVVideoSource.h.

◆ m_VideoFileName

std::string mitk::OpenCVVideoSource::m_VideoFileName
protected

saves the video file name (is empty if a grabbing device is used or if this is not initialized)

Definition at line 166 of file mitkOpenCVVideoSource.h.


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