''' # -*- coding: utf-8 -*- # @Time : 2020/12/7 下午2:32 # @Author : YAO XINGTIAN # @FileName: abs.py # @Software: PyCharm # @Blog :https://mp.csdn.net/editor/html/110819381/ ''' abs.gz文件批量解压:
import gzip import glob save_path = '/media/yao/Elements SE/AI/Datasets/FRGC2.0/Fall2003range_extract/' # 文件保存目录 file_list = glob.glob('/media/yao/Elements SE/AI/Datasets/FRGC2.0/Fall2003range/*gz') # 获取abs.gz 文件列表 sum = 0 for file in file_list: print(file) file_name_ = file.split('/')[-1].split('.')[0] # # 获取文件名 file_name = file_name_ + '.xyz' # 保存的文件格式 print(file_name) #对压缩文件.gz进行解压 g_file = gzip.GzipFile(file) #将解压后的文件保存到save_path里面 open(save_path+file_name, "wb+").write(g_file.read()) g_file.close() sum += 1 print('total files:' , sum)FRGC2.0 中abs文件解析 import os readpath='/home/yao/PycharmProjects/Image_pre/absFiles' # abs文件目录 writepath='02463d546' # 保存文件目录 if not os.path.exists(writepath): os.makedirs(writepath) for root,dir,files in os.walk(readpath): # print(root,dir,files) for newfilename in files: abs_path=os.path.join(readpath,newfilename) print('newfilename',newfilename) absfile=open(abs_path,'r') xyzpath=os.path.join(writepath,os.path.splitext(newfilename)[0]+'.xyz') print('xyzpath',xyzpath) xyzfile=open(xyzpath,'w') tab=str.split(absfile.readline()) print('tab',tab) rows=int(tab[0]) tab=str.split(absfile.readline()) columns=int(tab[0]) tab=str.split(absfile.readline()) flags=list(map(int,str.split(absfile.readline()))) X=list(map(float,str.split(absfile.readline()))) Y=list(map(float,str.split(absfile.readline()))) Y_sorted=sorted(Y) print(len(Y_sorted)) # exit() # size=len(Y_sorted) Z=list(map(float,str.split(absfile.readline()))) absfile.close() size=len(X) # print(size) croppedface=[] for i in range(0,size): if flags[i]==1: if Y[i]> -150: line=str(X[i]) + ' ' + str(Y[i]) + ' ' + str(Z[i]) + '\n' xyzfile.write(line) xyzfile.close() xyz点云图如下: