【发布时间】:2020-07-16 15:09:07
【问题描述】:
我想将我拥有的一些 tiff 图像保存到一个新的 npy 文件中。
我的数据保存在 5 个不同的文件中(tiff 格式)。我想访问它们中的每一个,将它们转换为 narray,然后将它们保存在一个新的 npy 文件中(用于深度学习分类)。
import numpy as np
from PIL import Image
import os
Data_dir = r"C:\Desktop\Université_2019_2020\CoursS2_Mosef\Stage\Data\Grand_Leez\shp\imagettes"
Categories = ["Bouleau_tiff", "Chene_tiff", "Erable_tiff", "Frene_tiff", "Peuplier_tiff"]
for categorie in Categories:
path = os.path.join(Data_dir, categorie) #path for each species
for img in os.listdir(path):
path_img = os.path.join(path,img)
im = Image.open(os.path.join(path_img)) #load an image file
imarray = np.array(im) # convert it to a matrix
imarray = np.delete(imarray, 3, axis=2)
np.save(Data_dir, imarray)
问题:它只是返回我最后一个类别"Peuplier_tiff"的最后一个观察结果,它还保存在名称imagette中,我不知道为什么。
最后但并非最不重要的一点是,我对我的目标有疑问,我如何确保我的类别正确分配给相应的数组。
很多问题, 提前感谢您的帮助。
S.V
【问题讨论】:
-
您必须在保存每个文件时使用唯一的文件名
np.save(Data_dir + "/" + unique_name, imarray)但您的Data_dir似乎不是目录路径,您必须先创建它 - 即。os.makedirs(Data_dir) -
顺便说一句:
os.path.join(path_img)给出与直接path_img相同的路径 -
感谢@furas,它正在工作。我现在想将我的每个阵列放在一个特定的 nyp 文件夹中(对于每个物种)。一步一个脚印,比利时见
-
fullpath = os.path.join( specific_folder, filename )
标签: python image multidimensional-array save tiff