|
|
NVIDIA DeepStream SDK API Reference
|
9.2 Release
|
Go to the documentation of this file.
26 #ifndef NVIDIA_DEEPSTREAM_METADATA
27 #define NVIDIA_DEEPSTREAM_METADATA
33 #include "nvll_osd_struct.h"
34 #include "nvds_tracker_meta.h"
35 #include "nvds_audio_meta.h"
39 #define USER_METADATA_START = (4096 + 4096 + 1)
57 virtual operator bool() {
return data_ !=
nullptr; }
71 class AbstractIterator {
92 virtual bool done() = 0;
101 return !(*
this == other);
110 class UserMetadata :
public Metadata {
112 typedef std::unique_ptr<AbstractIterator<UserMetadata>>
Iterator;
125 virtual operator bool()
override {
return data_ !=
nullptr; }
141 void setUserData(
void*
data,
void*(*copy)(
void*,
void*),
void(*release)(
void*,
void*));
158 std::string
label()
const;
173 class ClassifierMetadata :
public Metadata {
175 typedef std::unique_ptr<AbstractIterator<ClassifierMetadata>>
Iterator;
196 std::string
getLabel(
unsigned int nth)
const;
208 typedef std::unique_ptr<AbstractIterator<ObjectMetadata>>
Iterator;
245 std::string
label()
const;
257 unsigned int iterate(
const std::function<
void(
const UserMetadata&)>& func,
int meta_type)
const;
286 const std::string sensor=
"N/A",
287 const std::string uri=
"N/A",
288 const std::vector<std::string>labels=std::vector<std::string>());
293 const std::string sensor=
"N/A",
294 const std::string uri=
"N/A");
303 class RoiMetadata :
public Metadata {
318 unsigned int iterate(
const std::function<
void(
const UserMetadata&)>& func,
int meta_type)
const;
323 unsigned int iterate(
const std::function<
void(
const ClassifierMetadata&)>& func)
const;
335 class TensorOutputUserMetadata :
public UserMetadata {
344 std::unordered_map<std::string, Tensor*>
getLayers();
355 class SegmentationUserMetadata:
public UserMetadata {
395 template <
class C,
int N>
396 class UserMetadataTemplate :
public UserMetadata {
413 C* dst =
new C(*src);
433 class DisplayMetadata :
public Metadata {
435 typedef std::unique_ptr<AbstractIterator<DisplayMetadata>>
Iterator;
448 unsigned int nRects()
const;
452 unsigned int nLines()
const;
480 typedef std::unique_ptr<AbstractIterator<FrameMetadata>>
Iterator;
503 unsigned int iterate(
const std::function<
void(
const UserMetadata&)>& func,
int meta_type)
const;
548 typedef std::unique_ptr<AbstractIterator<AudioFrameMetadata>>
Iterator;
566 unsigned int iterate(
const std::function<
void(
const UserMetadata&)>& func,
int meta_type)
const;
626 operator bool()
const {
627 return data_ !=
nullptr;
640 class PreprocessBatchUserMetadata :
public UserMetadata {
650 std::vector<RoiMetadata>
getRois()
const;
659 class ObjectVisibilityUserMetadata :
public UserMetadata {
669 class ObjectImageFootLocationUserMetadata :
public UserMetadata {
679 class ObjectWorldFootLocationUserMetadata :
public UserMetadata {
689 class ObjectConvexHullUserMetadata :
public UserMetadata {
699 class Object3DBBoxUserMetadata :
public UserMetadata {
707 class TrackerPastFrameUserMetadata :
public UserMetadata {
715 class StructureUserMetadata:
public UserMetadata {
730 class ObjectReidUserMetadata :
public UserMetadata {
756 class AnalyticsObjInfo:
public UserMetadata {
790 class AnalyticsFrameMeta:
public UserMetadata {
806 std::unordered_map<std::string, bool>
getOcStatus()
const;
829 std::unordered_map<int, uint32_t>
getObjCnt()
const;
841 class BatchMetadata :
public Metadata {
855 unsigned int iterate(
const std::function<
void(
const FrameMetadata&)>& func)
const;
860 unsigned int iterate(
const std::function<
void(
const AudioFrameMetadata&)>& func)
const;
865 unsigned int iterate(
const std::function<
void(
const UserMetadata&)>& func,
int meta_type)
const;
870 bool acquire(DisplayMetadata&);
876 bool acquire(EventMessageUserMetadata&);
878 bool acquire(PreprocessBatchUserMetadata&);
882 bool acquire(ObjectReidUserMetadata&);
884 template<
class C,
int N>
889 return user_meta ? true :
false;
904 void*
data,
unsigned int type,
void*(*copy)(
void*,
void*),
void(*free)(
void*,
void*)
virtual bool done()=0
check if the end is reached
Holds the box parameters of a line to be overlayed.
Holds the box parameters of the box to be overlayed.
Holds the mask parameters of the segment to be overlayed.
virtual ~AnalyticsObjInfo()
Destructor for AnalyticsObjInfo.
metadata iterator template
std::vector< std::string > getRoiStatus() const
Get the ROI status.
T * operator->()
Dereference the associated metadata as a pointer.
Holds circle parameters to be overlayed.
AnalyticsObjInfo(void *data=nullptr)
Constructor for AnalyticsObjInfo.
bool operator!=(const AbstractIterator< T > &other) const
check if two iterator point to different position
Holds arrow parameters to be overlaid.
Holds all fields of a single label entry from a classifier.
std::string getObjStatus() const
Get the object status.
std::string label() const
The label string of the result.
virtual ~AbstractIterator()
Destructor.
bool operator==(const AbstractIterator< T > &other) const
check if two iterator point to the same position
T & operator*()
Dereference the associated metadata.
constexpr const char * size
Structure to store tensor information.
unsigned int getUniqueId() const
Get the unique identifier for this metadata.
std::string getDirStatus() const
Get the direction status.
AbstractIterator(const T &data)
Construct an iterator for an iterable metadata.
float prob() const
Probability of the best result.
unsigned int labelId() const
Label ID for multi-label classifiers.
Holds parameters of text to be overlayed.
std::vector< std::string > getLcStatus() const
Get the line crossing status.
unsigned int classId() const
Class ID of the best result.
virtual bool equals(const AbstractIterator< T > &other) const =0
Batch of all streams of a given target misc output.
Holds 3D bbox information for an object.
T & get()
Directly access the associated metadata.
unsigned int numClasses() const
Number of classes for this label.
Holds unclipped bounding box coordinates of the object.
virtual AbstractIterator< T > & next()=0
advances the iterator to access the next data
std::vector< std::string > getOcStatus() const
Get the overcrowding status.