在进行一些类似于高分辨率重建等计算机视觉问题的时候,有时侯需要修改某一个文件夹的图片后缀,便于图片格式读取,或者修改图片名按数字排序等,以及剪切图片为额定大小等操作,本篇文章将给出一些操作小示范,供有需要的盆友参考。
1.修改图片名
采用了scipy下面的misc进行读取和保存图片。
import scipy.misc
import os
#下载数据
def load_dataset(data_dir):
img_files = os.listdir(data_dir) #读取该路径下的文件名
img_size = len(img_files) #图片张数
for i in range(img_size):
img = scipy.misc.imread(data_dir+"/"+img_files[i])#读取图片
k = str(i)
scipy.misc.imsave(data_dir+"/img_"+ k +".jpg",img)
return
data_dir = "/home/zcm/tensorf/EDSR-Tensorflow-master/input" #图片路径
load_dataset(data_dir)
#print(type(img))#图片类型
#print(img.dtype)#数据类型
#print(img.shape)#图片大小
2.裁剪图片为指定大小
用于裁剪图片为指定大小,本人是在做超分辨率重建的时候制作测试集使用到的。
import scipy.misc
import os
#下载数据
def load_dataset(data_dir,cropx,cropy):
img_files = os.listdir(data_dir) #读取该路径下的文件名
img_size = len(img_files) #图片张数
for i in range(img_size):
img = scipy.misc.imread(data_dir+"/"+img_files[i])#读取图片
#裁剪图片
y,x,_ = img.shape
startx = x//2-(cropx//2)
starty = y//2-(cropy//2)
#保存图片
k = str(i)
scipy.misc.imsave(data_dir+"/image_"+ k +".jpg",img[starty:starty+cropy,startx:startx+cropx])
return
data_dir = "/home/zcm/tensorf/EDSR-Tensorflow-master/General-100"
load_dataset(data_dir,200,200)