NvDsAnalyticsObjInfo

class pyds.NvDsAnalyticsObjInfo

包含一组 nvdsanalytics 对象级别元数据。

变量:
  • roiStatuslist of str, 包含对象存在的 ROI 标签数组。

  • ocStatuslist of str, 包含对象存在的 OverCrowding 标签数组。

  • lcStatuslist of str, 包含对象已跨越的线交叉标签数组。

  • dirStatusstr, 包含被跟踪对象的方向字符串。

  • objStatusstr, 包含被跟踪对象的状态字符串。

  • unique_idint, 包含 nvdsanalytics 实例的唯一标识符。

示例用法

# Extract object level meta data from NvDsAnalyticsObjInfo
l_user_meta = obj_meta.obj_user_meta_list #Get glist containing NvDsUserMeta objects from given NvDsObjectMeta
# Extract object level meta data from NvDsAnalyticsObjInfo
while l_user_meta:
    try:
        user_meta = pyds.NvDsUserMeta.cast(l_user_meta.data) #Must cast glist data to NvDsUserMeta object
        if user_meta.base_meta.meta_type == pyds.nvds_get_user_meta_type("NVIDIA.DSANALYTICSOBJ.USER_META"):             
        user_meta_data = pyds.NvDsAnalyticsObjInfo.cast(user_meta.user_meta_data) #Must cast user metadata to NvDsAnalyticsObjInfo
        #Access NvDsAnalyticsObjInfo attributes with user_meta_data.{attribute name}
        if user_meta_data.dirStatus: print("Object {0} moving in direction: {1}".format(obj_meta.object_id, user_meta_data.dirStatus))
        if user_meta_data.lcStatus: print("Object {0} line crossing status: {1}".format(obj_meta.object_id, user_meta_data.lcStatus))
        if user_meta_data.ocStatus: print("Object {0} overcrowding status: {1}".format(obj_meta.object_id, user_meta_data.ocStatus))
        if user_meta_data.roiStatus: print("Object {0} roi status: {1}".format(obj_meta.object_id, user_meta_data.roiStatus))
        if user_meta_data.objStatus: print("Object {0} status: {1}".format(obj_meta.object_id, user_meta_data.objStatus))
    except StopIteration:
        break

    try:
        l_user_meta = l_user_meta.next
        except StopIteration:
        break
static cast(data: capsule) pyds.NvDsAnalyticsObjInfo

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