NvDsObjectMeta

class pyds.NvDsObjectMeta

在帧中保存对象元数据的信息。

变量:
  • base_metaNvDsBaseMeta, base_meta

  • parent – 父 NvDsObjectMeta 对象。如果不存在父对象,则设置为 None

  • unique_component_idint, 附加 NvDsObjectMeta 元数据的唯一组件 ID

  • class_idint, 主要检测器/分类器推断的对象类别的索引

  • object_idint, 用于跟踪对象的唯一 ID。 @ref UNTRACKED_OBJECT_ID 表示对象尚未被跟踪

  • confidencefloat, 保存对象的可信度值,由推理组件设置。如果选择了聚类的“分组矩形”模式,则置信度将设置为 -0.1,因为该算法不保留置信度值。此外,对于由跟踪器而非推理组件找到的对象,置信度将设置为 -0.1

  • detector_bbox_infoNvDsComp_BboxInfo, 保存对象被检测器检测到时的边界框参数的结构

  • tracker_bbox_infoNvDsComp_BboxInfo, 保存对象被跟踪器处理时的边界框坐标的结构

  • tracker_confidencefloat, 保存由 nvdcf_tracker 设置的对象的可信度值。对于 KLT 和 IOU 跟踪器,tracker_confidence 将设置为 -0.1

  • rect_paramsNvOSD_RectParams, 包含对象在帧中的位置参数的结构。例如,如果管道中的跟踪器组件在检测器组件之后,则位置参数来自跟踪器组件。也可以用于在对象顶部覆盖边框/半透明框。请参阅 NvOSD_RectParams

  • mask_paramsNvOSD_MaskParams, 保存对象的掩码参数。此掩码覆盖在对象上。请参阅 NvOSD_MaskParams

  • text_paramsNvOSD_TextParams, 可以使用此结构覆盖描述对象的文本。请参阅 NvOSD_TextParams

  • obj_label – 用于存储描述检测到的对象类别的字符串的数组

  • classifier_meta_list – 类型为 NvDsClassifierMeta 的对象列表

  • obj_user_meta_list – 类型为 NvDsUserMeta 的对象列表

  • misc_obj_infoint 列表, 用于额外的用户特定批次信息

  • reservedint, 保留供内部使用。

用法示例

#Initialize dict to keep count of objects of each type
obj_counter = {
        PGIE_CLASS_ID_VEHICLE:0,
        PGIE_CLASS_ID_PERSON:0,
        PGIE_CLASS_ID_BICYCLE:0,
        PGIE_CLASS_ID_ROADSIGN:0
    }

l_obj=frame_meta.obj_meta_list #Retrieve list of NvDsObjectMeta objects in frame from an NvDsFrameMeta object. See NvDsFrameMeta documentation for more details.
while l_obj is not None:
    try:
        # Casting l_obj.data to pyds.NvDsObjectMeta
        obj_meta=pyds.NvDsObjectMeta.cast(l_obj.data)
        except StopIteration:
            break
        obj_counter[obj_meta.class_id] += 1 #Retrieve class_id from NvDsObjectMeta (i.e. PGIE_CLASS_ID_VEHICLE, PGIE_CLASS_ID_PERSON, etc.) to update count
        obj_meta.rect_params.border_color.set(0.0, 0.0, 1.0, 0.0) #Set border color of NvDsObjectMeta object's rect_params
        try: 
            l_obj=l_obj.next
        except StopIteration:
            break
cast(*args, **kwargs)

重载函数。

  1. cast(self: capsule) -> pyds.NvDsObjectMeta

将给定的对象/数据转换为 NvDsObjectMeta, 调用 pyds.NvDsObjectMeta.cast(data)

  1. cast(self: int) -> pyds.NvDsObjectMeta

将给定的对象/数据转换为 NvDsObjectMeta, 调用 pyds.NvDsObjectMeta.cast(data)