'''
功能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收敛。
'''保存'''
img_out = np.array(img_out, dtype=np.float32) # tif图片:需要由float64改为float32才能预览。png/jpg等格式,注释掉此行。
io.imsave(path_out, img_out) # 保存