NVIDIA DeepStream SDK API Reference

9.2 Release
FrameOutput Class Reference

Detailed Description

Writes tracker visualization frames to image files or a video stream.

Definition at line 29 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

Inheritance diagram for FrameOutput:

Public Member Functions

 FrameOutput ()
 Initialize output state with video output disabled. More...
 
virtual ~FrameOutput ()
 Release the video writer and its output stream. More...
 
bool isImageOutputEnabled (const uint outputDirectoryKey=0)
 Report whether image output is enabled for a directory key. More...
 
bool isVideoOutputEnabled ()
 Report whether video output is enabled. More...
 
bool enableVideoOutput (const std::string outputVideoDirectory, const std::string outputVideoName, cv::Size videoSize, const double fps=5.f)
 Create an AVI writer and enable video output. More...
 
void enableImageOutput (const std::string outputImageDirectory, const int compressionLevel=95, const uint outputDirectoryKey=0)
 Configure a keyed directory for JPEG image output. More...
 
void writeVideoOutput (const cv::Mat &img)
 Append an image to the output video. More...
 
void writeImageOutput (const cv::Mat &img, const std::string imgFilename, const uint outputDirectoryKey=0, const std::string subFolderName="")
 Write an image to a keyed output directory. More...
 
 FrameOutput ()
 Initialize output state with video output disabled. More...
 
virtual ~FrameOutput ()
 Release the video writer and its output stream. More...
 
bool isImageOutputEnabled (const uint outputDirectoryKey=0)
 Report whether image output is enabled for a directory key. More...
 
bool isVideoOutputEnabled ()
 Report whether video output is enabled. More...
 
bool enableVideoOutput (const std::string outputVideoDirectory, const std::string outputVideoName, cv::Size videoSize, const double fps=5.f)
 Create an AVI writer and enable video output. More...
 
void enableImageOutput (const std::string outputImageDirectory, const int compressionLevel=95, const uint outputDirectoryKey=0)
 Configure a keyed directory for JPEG image output. More...
 
void writeVideoOutput (const cv::Mat &img)
 Append an image to the output video. More...
 
void writeImageOutput (const cv::Mat &img, const std::string imgFilename, const uint outputDirectoryKey=0, const std::string subFolderName="")
 Write an image to a keyed output directory. More...
 

Protected Attributes

cv::VideoWriter * mOutputVideo
 Video writer used when video output is enabled. More...
 
bool mIsVideoOutputEnabled
 Indicates whether video output is enabled. More...
 
std::vector< int > compression_params
 OpenCV image-encoding parameters. More...
 
std::unordered_map< uint, std::string > mOutputImageDirectory
 Image output directories keyed by caller-defined values. More...
 
std::unordered_map< uint, bool > mIsImageOutputEnabled
 Image-output enabled state for each directory key. More...
 

Constructor & Destructor Documentation

◆ FrameOutput() [1/2]

FrameOutput::FrameOutput ( )
inline

Initialize output state with video output disabled.

Definition at line 33 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References mIsVideoOutputEnabled, and mOutputVideo.

◆ ~FrameOutput() [1/2]

virtual FrameOutput::~FrameOutput ( )
inlinevirtual

Release the video writer and its output stream.

Definition at line 40 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References mOutputVideo.

◆ FrameOutput() [2/2]

FrameOutput::FrameOutput ( )
inline

Initialize output state with video output disabled.

Definition at line 33 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References mIsVideoOutputEnabled, and mOutputVideo.

◆ ~FrameOutput() [2/2]

virtual FrameOutput::~FrameOutput ( )
inlinevirtual

Release the video writer and its output stream.

Definition at line 40 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References mOutputVideo.

Member Function Documentation

◆ enableImageOutput() [1/2]

void FrameOutput::enableImageOutput ( const std::string  outputImageDirectory,
const int  compressionLevel = 95,
const uint  outputDirectoryKey = 0 
)
inline

Configure a keyed directory for JPEG image output.

Parameters
[in]outputImageDirectoryDirectory in which images are written.
[in]compressionLevelJPEG quality level.
[in]outputDirectoryKeyKey used to select the output directory.

Set the JPEG image quality.

Definition at line 116 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References compression_params, mIsImageOutputEnabled, and mOutputImageDirectory.

◆ enableImageOutput() [2/2]

void FrameOutput::enableImageOutput ( const std::string  outputImageDirectory,
const int  compressionLevel = 95,
const uint  outputDirectoryKey = 0 
)
inline

Configure a keyed directory for JPEG image output.

Parameters
[in]outputImageDirectoryDirectory in which images are written.
[in]compressionLevelJPEG quality level.
[in]outputDirectoryKeyKey used to select the output directory.

Set the JPEG image quality.

Definition at line 116 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References compression_params, mIsImageOutputEnabled, and mOutputImageDirectory.

◆ enableVideoOutput() [1/2]

bool FrameOutput::enableVideoOutput ( const std::string  outputVideoDirectory,
const std::string  outputVideoName,
cv::Size  videoSize,
const double  fps = 5.f 
)
inline

Create an AVI writer and enable video output.

Parameters
[in]outputVideoDirectoryDirectory in which the video is written.
[in]outputVideoNameBase name of the output video file.
[in]videoSizeOutput video frame size.
[in]fpsOutput video frame rate.
Returns
True when the output video is opened successfully.

Definition at line 78 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References mIsVideoOutputEnabled, and mOutputVideo.

◆ enableVideoOutput() [2/2]

bool FrameOutput::enableVideoOutput ( const std::string  outputVideoDirectory,
const std::string  outputVideoName,
cv::Size  videoSize,
const double  fps = 5.f 
)
inline

Create an AVI writer and enable video output.

Parameters
[in]outputVideoDirectoryDirectory in which the video is written.
[in]outputVideoNameBase name of the output video file.
[in]videoSizeOutput video frame size.
[in]fpsOutput video frame rate.
Returns
True when the output video is opened successfully.

Definition at line 78 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References mIsVideoOutputEnabled, and mOutputVideo.

◆ isImageOutputEnabled() [1/2]

bool FrameOutput::isImageOutputEnabled ( const uint  outputDirectoryKey = 0)
inline

Report whether image output is enabled for a directory key.

Parameters
[in]outputDirectoryKeyOutput directory key to query.

Definition at line 55 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References mIsImageOutputEnabled.

Referenced by writeImageOutput().

◆ isImageOutputEnabled() [2/2]

bool FrameOutput::isImageOutputEnabled ( const uint  outputDirectoryKey = 0)
inline

Report whether image output is enabled for a directory key.

Parameters
[in]outputDirectoryKeyOutput directory key to query.

Definition at line 55 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References mIsImageOutputEnabled.

◆ isVideoOutputEnabled() [1/2]

bool FrameOutput::isVideoOutputEnabled ( )
inline

Report whether video output is enabled.

Definition at line 68 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References mIsVideoOutputEnabled.

◆ isVideoOutputEnabled() [2/2]

bool FrameOutput::isVideoOutputEnabled ( )
inline

Report whether video output is enabled.

Definition at line 68 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References mIsVideoOutputEnabled.

◆ writeImageOutput() [1/2]

void FrameOutput::writeImageOutput ( const cv::Mat &  img,
const std::string  imgFilename,
const uint  outputDirectoryKey = 0,
const std::string  subFolderName = "" 
)
inline

Write an image to a keyed output directory.

Parameters
[in]imgImage to write.
[in]imgFilenameBase name of the output image file.
[in]outputDirectoryKeyKey used to select the output directory.
[in]subFolderNameOptional subdirectory below the keyed output directory.

Create the output directory if it does not exist.

Definition at line 157 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References compression_params, isImageOutputEnabled(), mOutputImageDirectory, and pydeepstreamdoc::tensor::TensorDoc::size.

Referenced by TrackerVizOutput::writeAllTrajectoriesOnEveryFrame(), TrackerVizOutput::writeBirdsEyeView(), TrackerVizOutput::writeEachCompletedTrajectory(), and TrackerVizOutput::writeFromWriteBuffer().

◆ writeImageOutput() [2/2]

void FrameOutput::writeImageOutput ( const cv::Mat &  img,
const std::string  imgFilename,
const uint  outputDirectoryKey = 0,
const std::string  subFolderName = "" 
)
inline

Write an image to a keyed output directory.

Parameters
[in]imgImage to write.
[in]imgFilenameBase name of the output image file.
[in]outputDirectoryKeyKey used to select the output directory.
[in]subFolderNameOptional subdirectory below the keyed output directory.

Create the output directory if it does not exist.

Definition at line 157 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References compression_params, isImageOutputEnabled(), mOutputImageDirectory, and pydeepstreamdoc::tensor::TensorDoc::size.

◆ writeVideoOutput() [1/2]

void FrameOutput::writeVideoOutput ( const cv::Mat &  img)
inline

Append an image to the output video.

Parameters
[in]imgImage to write as the next video frame.

Definition at line 142 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References mIsVideoOutputEnabled, and mOutputVideo.

◆ writeVideoOutput() [2/2]

void FrameOutput::writeVideoOutput ( const cv::Mat &  img)
inline

Append an image to the output video.

Parameters
[in]imgImage to write as the next video frame.

Definition at line 142 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

References mIsVideoOutputEnabled, and mOutputVideo.

Field Documentation

◆ compression_params

std::vector< int > FrameOutput::compression_params
protected

OpenCV image-encoding parameters.

Definition at line 195 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

Referenced by enableImageOutput(), and writeImageOutput().

◆ mIsImageOutputEnabled

std::unordered_map< uint, bool > FrameOutput::mIsImageOutputEnabled
protected

Image-output enabled state for each directory key.

Definition at line 197 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

Referenced by enableImageOutput(), and isImageOutputEnabled().

◆ mIsVideoOutputEnabled

bool FrameOutput::mIsVideoOutputEnabled
protected

Indicates whether video output is enabled.

Definition at line 194 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

Referenced by enableVideoOutput(), FrameOutput(), isVideoOutputEnabled(), and writeVideoOutput().

◆ mOutputImageDirectory

std::unordered_map< uint, std::string > FrameOutput::mOutputImageDirectory
protected

Image output directories keyed by caller-defined values.

Definition at line 196 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

Referenced by enableImageOutput(), and writeImageOutput().

◆ mOutputVideo

cv::VideoWriter * FrameOutput::mOutputVideo
protected

Video writer used when video output is enabled.

Definition at line 193 of file sources/libs/nvmultiobjecttracker/include/modules/utility/FrameOutput.hpp.

Referenced by enableVideoOutput(), FrameOutput(), writeVideoOutput(), and ~FrameOutput().


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