Python 读取数据基础

需要用python进行数据整理,将raw data整理成CNN可以识别的形式.在整理数据的时候用的python语言.

  • 读取整个文件夹下面的文件名
list = os.listdir("Kinfu_Toolbox1_dark/rgb_noseg")

然后这个list里面就是所有的文件名
如果想读取某个文件路径里面的文件名,或者最后一个文件夹的名字 用split命令

fpath, fname=os.path.split(filepath)

如果想读取一个字符串里面的数字,(比如 "91818aik011", 读出来是"91818011")

number=filter(str.isdigit, fname)

判断number是不是空的

if number =="":
  print "no number in the file name"
f=open(txtpath) #读取txt文件,把整个文件放进f里面
        lines= f.read().splitlines() #把整个文件放入一个list,这个方法比较好

        transf_str=lines[8]  #读列表的第8行 transf_str 是一个string
        transf_list = [float(x) for x in transf_str.split()] 
        #convert the str into list
        transf_matrix=array(transf_list) #convert the list into array
        label[0,4:7]=transf_matrix #赋值给label
        #依次做上面的事情
        for index in range(4, 7): 
            rotation_str=lines[index]
            rotation_list = [float(x) for x in rotation_str.split()]
            rotation_matrix[index-4]=array(rotation_list)
        #print rotation_matrix 
        quation= mat2quat(rotation_matrix) #旋转矩阵转换成四元数
        label[0,:4]=quation

值得注意的是如何安装第三方包 transforms3d

pip install transform3d

这样 不会产生路径找不到的问题.

写HDF5 文件

with h5py.File('train.h5', 'w') as f:
    f['data'] = img_mid  #read image into a numpy darray
    f['label'] = label_mid
    f.close()

读取HDF5 文件

f = h5py.File(filename, 'r') # read h5 file

label=f['label'] #'label' is the group in h5 now transfer it to the variable
print label.shape     #label now is a numpy darray
print type(label)  
print label[3,:]
img=f['data'][19,:,:,:]  #read another data which actually is a image
print img.shape
print img
cv2.imshow("4", img)

python opencv 读取图片 并显示

img = cv2.imread(img_path, cv2.IMREAD_COLOR)
cv2.imshow("4", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

但是!!!!

这时候 img是个dnarray 如果你对他进行操作之后再读数据

你可能感兴趣的:(Python 读取数据基础)