批量转存子文件夹图像or生成不同尺寸图像

'''
功能1:把所有子文件夹下的图像转存到另一位置
功能2:生成不同尺寸的图像
'''

import glob
import skimage
from skimage import io,transform
import os
import numpy as np

# *代表全部文件,*.png,*pdf,*jpg 可以选中特定类型
# 示例:'C:\Users\mayuhua\Desktop\*\*.png' 桌面所有子文件夹内的png图像
input = r'E:\深度学习-数据集\NR数据集-中子projection\A原图\*.tif'    # 选取文件,加上\*.tif
output = r'E:\深度学习-数据集\NR数据集-中子projection\bicubic-train-64x64'       # 输出路径
scale = 1   # 修改图像尺寸: 0.25为宽高都缩小至四分之一,4为宽高都放大4倍

path_list = glob.glob(input)   # 图像路径列表。
for path in path_list:
    print(path)   # 图像路径
    base_name = os.path.basename(path) ; print(base_name)            #文件名 name.tif
    # base_name = os.path.splitext(base_name)[0] ; print(base_name)  #文件名(无后缀) name
    path_out = output+'\\'+base_name ; print(path_out)               #输出路径   C:\Users\···\UCMerced_LandUse-图片集合\name.tif

    img = io.imread(path)                           # 读取
    #img_out = transform.rescale(img, scale=scale, order=3)   # rescale,order=3双三次插值bicubic
    img_out = transform.resize(img, (64,64), order=3)    # order=3双三次插值bicubic。建议resize成相同尺寸,才能设置batch_size>1。合理范围内,较大的batch_size才能使loss收敛。会自动归一到[0,1],整型的png格式(uint8/16)就需要以tif格式保存了。

    '''保存'''
    img_out = np.array(img_out, dtype=np.float32)   # tif图片:需要由float64改为float32才能预览。png/jpg等格式,注释掉此行。
    io.imsave(path_out, img_out)                    # 保存


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nutron-ma

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

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

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

打赏作者

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

抵扣说明:

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

余额充值