【问题标题】:Read and Save multiple images in a folder: Python在一个文件夹中读取和保存多个图像:Python
【发布时间】:2017-02-21 15:15:18
【问题描述】:

我是python的初学者。我正在尝试从一个文件夹中读取所有 ascii 文件,并将它们转换为图像后,我希望将它们全部保存到同一目录中的不同文件夹中。代码正在运行,但我没有得到任何输出,也没有显示错误。

没有循环的代码,对于单张图片来说效果很好。

请帮忙。

import os
import glob
import numpy as np
from PIL import Image

path = r'D:\user\ASCII'
outpath = 'D:\user\ASCII\TIFF'

filenames = glob.glob(path + "/*.asc") #read all files in the path mentioned

for x in filenames:
    myarray = np.loadtxt(x, skiprows=9)
    im = Image.fromarray(myarray)
    im.save(outpath + '/*.tif')

【问题讨论】:

    标签: python image python-2.7


    【解决方案1】:

    save() 函数中有一个星号,这没有任何意义,它没有什么可匹配的。它不会自动替换 glob 函数中的 * 匹配项。我想你想做这样的事情

    src_fname, ext = os.path.splitext(x)  # split filename and extension
    # construct output filename, basename to remove input directory
    save_fname = os.path.join(outpath, os.path.basename(src_fname)+'.tif')
    im.save(save_fname)
    

    记住使用os.path 模块函数而不是用斜杠连接文件名,因为它们在每个平台上都能正确处理边缘情况。

    【讨论】:

    • 感谢 Ondřej 的帮助。如果我们拆分文件名和扩展名,那么“np.loadtext”将不起作用。
    • 你在使用np.loadtxt(x)之后拆分它,这样原来的x变量就是一个完整的有效文件名。
    猜你喜欢
    • 2016-01-26
    • 2021-05-28
    • 2018-09-07
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多