NvDsFrameMeta

class pyds.NvDsFrameMeta

存储批次中帧的元数据。

变量:
  • base_metaNvDsBaseMeta, 帧的基础元数据。

  • pad_indexint, 批次中帧的流复用器组件的填充或端口索引。

  • batch_idint, 帧在批次中的位置。帧的 NvBufSurfaceParams 将在 NvBufSurface 的 surfaceList 数组中的 batch_id 索引处。

  • frame_numint, 源的当前帧号。

  • buf_ptsint, 存储帧的演示时间戳 (PTS)。

  • ntp_timestampint, 存储 ntp (网络时间协议) 时间戳。

  • source_idint, 批次中帧的 Source_id,例如 camera_id。它不需要按顺序排列。

  • num_surfaces_per_frameint, 此帧中存在的表面数量。当每帧有多个表面时,这是必需的。

  • source_frame_widthint, 存储输入到 Gst-streammux 的帧宽度。

  • source_frame_heightint, 存储输入到 Gst-streammux 的帧高度。

  • surface_typeint, 子帧的表面类型。当每帧有多个表面时,这是必需的。

  • surface_indexint, 子帧的表面索引。当每帧有多个表面时,这是必需的。

  • num_obj_metaint, 附加到当前帧的对象元数据元素数量。

  • bInferDoneint, 布尔值,指示是否在给定帧上执行推理。

  • obj_meta_list – 类型为 NvDsObjectMeta 的对象列表,用于给定帧。

  • display_meta_list – 类型为 NvDsDisplayMeta 的对象列表,用于给定帧。

  • frame_user_meta_list – 类型为 NvDsUserMeta 的对象列表,用于给定帧。

  • misc_frame_infolist of int, 用于其他用户特定的批次信息。

  • reservedint, 保留供内部使用。

使用示例

batch_meta = pyds.gst_buffer_get_nvds_batch_meta(hash(gst_buffer)) #Retrieve batch metadata from gst_buffer
l_frame = batch_meta.frame_meta_list
while l_frame is not None:
    try:
        frame_meta = pyds.NvDsFrameMeta.cast(l_frame.data) #Must cast data in frame_meta_list to NvDsFrameMeta object
    except StopIteration:
        break

    frame_number=frame_meta.frame_num #Retrieve current frame number from NvDsFrameMeta object
    num_rects = frame_meta.num_obj_meta #Retrieve number of objects in frame from NvDsFrameMeta object
    l_obj=frame_meta.obj_meta_list #Retrieve list of NvDsObjectMeta objects in frame from NvDsFrameMeta object
cast(*args, **kwargs)

重载函数。

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

cast given object/data to NvDsFrameMeta, 调用 `pyds.NvDsFrameMeta.cast(data)`

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

cast given object/data to NvDsFrameMeta, 调用 `pyds.NvDsFrameMeta.cast(data)`