最近使用3DMatch数据集,读取pose信息,发现pose存储格式为*.txt,内容都是str类型。网络上都是讲npy转txt格式,为了使用旋转矩阵,可以使用以下内容将txt文件中的矩阵提取并存为npy格式
matrix = np.zeros((4, 4), dtype=float)
data = open(join(data_dir, f'{ind}.info.txt'))
# next(data) # 隔出首行
lines = data.readlines()
matrix_row = 0 #从第0行开始
for line in lines: # 把lines中的数据逐行读取出来
list = line.strip('\n').split(' ')
# 处理逐行数据:strip表示把头尾的'\n'去掉,split表示以空格来分割行数据,然后把处理后的行数据返回到list列表中
matrix[matrix_row:] = list[0:4] # 把处理后的数据放到方阵A中。list[0:4]表示列表的0,1,2,3列数据放到矩阵A中的A_row行
matrix_row += 1 # 然后方阵matrix的下一行接着读
print(matrix)
np.save('/home/houyongkuo/Desktop/test/', matrix)
参考:https://blog.csdn.net/weixin_39586649/article/details/113503850
|