python实现将文件夹中的tif类型文件批量转为png格式,同时将png图片大小设置为28像素*28像素,并把结果分类存储

一、结果展示

处理前,文件夹内共有30000个文件,其中共有5000个tif,在转换时,要过滤掉用不到的文件,只把tif格式的文件进行转换:

 处理后,共有十个文件夹(因为原有数据分为十个类型,把每种类型单独存储在各种的文件夹): 

其中每个文件夹内含有500个png文件,并且每个png文件的大小均为28*28:

二、程序实现

#导入需要使用的库
import os
import PIL.Image as Image
#这里写的是数据的10种类型,后续将基于这些类型名保存转换后的结果
dirs_name=["E","F","H","I","L","O","T","U","Y","Z"]
#创建保存结果的文件夹
for a in dirs_name:
    savepath = 'E:/data_GISAlgorithm/Class_pngs/{}_pngs'.format(a)
    if not os.path.exists(savepath):
        os.mkdir(savepath)
#tif格式文件所在的路径
dir="E:/data_GISAlgorithm/tif"
#读取路径下的所有文件
files = os.listdir(dir)
#遍历读取的所有文件
for f in files:
    #判断遍历到的文件是否为tif格式,如果是tif,才进行转换操作
    if os.path.splitext(f)[1] == ".tif":
        print(f)
        #获取当前文件的文件名,例如当前文件为E458.shp,则获取的basename为E458
        basename=os.path.splitext(f)[0]
        #读取当前文件
        image = Image.open("E:/data_GISAlgorithm/tif/{}".format(f))
        #将tif图片转换为28*28的png图片
        image = image.resize((28, 28), Image.ANTIALIAS)
        #把结果按照类型保存在对应的文件夹内
        image.save('E:/data_GISAlgorithm/Class_pngs/{}_pngs/{}.png'.format(basename[0:1],basename))    

三、总结

        通过三篇文章,我详细的介绍了如何将一个含有5000个面的shp文件,最终转换为5000个28*28的png'图片。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小郭学地信

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值