Python编程:利用numpy创建并初始化多层结构体数组

1. 首先导入numpy库

import numpy as np

2. 例如要创建一个目标Object结构体

包含变量:检测帧号’frameID’, 目标数量’NumOfObjects’, 目标列表’targets’;
其中目标列表’targets’又包含:‘ID’, ‘Age’, ‘Status’, ‘Movement’, ‘X’, ‘Y’, ‘Vx’, ‘Vy’;

代码如下:

tarType = np.dtype({'names': ['ID', 'Age','Status','Movement','X','Y','Z','Orientation','Existence_P','Vx','Vy'],
                    'formats': ['int16','int16','int16','int16','f','f','f','f','f','f','f']})

objectType = np.dtype({'names': ['frameID', 'NumOfObjects', 'targets'],
                       'formats': ['int16', 'int16', tarType * MaxTargetNum]}) 
                       
Object = np.empty(MaxObjectNum, dtype=objectType)     # 初始化              

其中MaxTargetNum表示一组数据包含最大的目标个数,MaxObjectNum表示结构体数组最大长度。
name:表示结构体的变量名称
formats:表示对应name变量的数据类型

你可能感兴趣的:(numpy,python,开发语言)