Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 循环numpy数组以将其另存为tif文件_Python_Loops_Numpy_Tiff - Fatal编程技术网

Python 循环numpy数组以将其另存为tif文件

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

我正在尝试使用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) + "/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个是从哪里来的?我明白了。你能显示你用来读取保存的图像的代码吗?