Python 循环numpy数组以将其另存为tif文件
我正在尝试使用for循环将形状为(625、256、256、4)的numpy数组(train_图像)保存为文件夹中的tif图像。也就是说,256 x 256像素的625个RGBN图像。目前我的代码如下所示:Python 循环numpy数组以将其另存为tif文件,python,loops,numpy,tiff,Python,Loops,Numpy,Tiff,我正在尝试使用for循环将形状为(625、256、256、4)的numpy数组(train_图像)保存为文件夹中的tif图像。也就是说,256 x 256像素的625个RGBN图像。目前我的代码如下所示: path = str(os.getcwd) + "/data/train_images" for i in train_images: num = 0 i.save(num + '.tif') num +=1 path = str(os.getcwd) + "/da
path = str(os.getcwd) + "/data/train_images"
for i in train_images:
num = 0
i.save(num + '.tif')
num +=1
path = str(os.getcwd) + "/data/train_images/"
num = 0
for img in train_images:
import scipy.misc
scipy.misc.imsave(path + str(num) + '.tif', img)
num +=1
但是,不可能像这样将numpy数组保存为tif文件。最后,我希望在名为0.tif、1.tif等的文件夹中保存625个(RGBN)tif图像。在
scipy.misc
中尝试imsave
,如下所示:
path = str(os.getcwd) + "/data/train_images"
for i in train_images:
num = 0
i.save(num + '.tif')
num +=1
path = str(os.getcwd) + "/data/train_images/"
num = 0
for img in train_images:
import scipy.misc
scipy.misc.imsave(path + str(num) + '.tif', img)
num +=1
要从文件中读取图像,您需要使用以下命令:
import imageio
im = imageio.imread('0.tif')
希望有帮助。
train\u images
未定义。很抱歉,train\u images是形状的numpy数组(625、256、256、4)。可能您想查看tiffile
模块,因为numpy.save
会“将数组保存为numpy.npy格式的二进制文件”。请记住,TIFF文件包含头。您会遇到什么错误?@TeeKea“AttributeError:'numpy.ndarray'对象没有属性'save'”很高兴听到这个消息。请勾选答案为已接受。刚刚做了,试图给你投票,但没有足够的声誉(尚未)。再次感谢,不用担心。祝你好运。不过有一个问题,如果我再看一遍图片,形状已经改变了。当我们在火车图像上循环时,“火车图像”具有形状(625256256,4),当我读取保存的图像时,它们具有形状(25256,4)。前25个是从哪里来的?我明白了。你能显示你用来读取保存的图像的代码吗?