修改图片名和剪裁图片

在进行一些类似于高分辨率重建等计算机视觉问题的时候,有时侯需要修改某一个文件夹的图片后缀,便于图片格式读取,或者修改图片名按数字排序等,以及剪切图片为额定大小等操作,本篇文章将给出一些操作小示范,供有需要的盆友参考。
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)

猜你喜欢

转载自blog.csdn.net/xuan_zizizi/article/details/78549162