多视角目标检测和跟踪-项目笔记01
Python | 计算机视觉 | npy文件和numpy array的使用 | 卡尔曼滤波
发现python在存储坐标的时候通常使用.npy文件进行存储,之后对npy文件的操作涉及到矩阵和numpy array.
上学期主要完成了目标的检测,最近在用卡尔曼滤波实现目标跟踪,在具体实现过程中发现的一些基础问题。
一、npy文件操作
1. 存储npy文件
import numpy as np
path = '/data/savePoint'
point = [[1 1] [2 2] [3 3]]
np.save(path, point)
2. 读取npy文件
将多个npy文件存储在一个文件夹下
import numpy as np
data = np.array(np.load('data/savePoint/frameTest.npy'))
3. 连接多个npy文件
读取一个文件夹中所有npy文件,并将它们连接成一个npy文件
path = '/data/savePoint'
temp = []
for root, dirs, files in os.walk(path): # 文件夹,文件夹中的目录,文件夹中的文件
for each in files:
real_path = (os.path.join(root, each))
real_data = np.load(real_path, allow_pickle=True) # 类型是numpy array
temp.append(real_data)
np.save('coordinate.npy', temp)
二、numpy array
以刚刚存储好的npy文件为例,里面存储的是某一帧画面中所有目标的世界坐标。
# 先读取连接好的npy文件
data = np.array(np.load('coordinate.npy', allow_pickle=True))
# 一共有几帧/总共连接的npy的数量
data.shape[0]
for i in range(data.shape[0]):
centers = data[i] # 第i帧所有的坐标点
point1 = centers[0] # 第i帧录入的第一个坐标