0
点赞
收藏
分享

微信扫一扫

python 将文件下图片改变大小后保存到另一个文件中


我的图片命名格式是 1.jpg  , 2.jpg ......,如果格式不同需要自己根据需要改代码。 

import cv2
import os
DIR = "./Images"
DEDIR = "./Deimages"


def getImages_list(img_dir,img_list,ext=None) :

img_num = 0
img_name_list = []
'''

遍历目录下所有jpg图片
:param dir: 文件夹根目录
:param Filelist:
:param ext: 扩展名
:return:返回图片地址列表
'''

image_files = os.listdir(img_dir)


image_files.sort(key=lambda x:int(x.split('.')[0]))
print(image_files)
for image_file in image_files:
if image_file.endswith('.jpg'):
# img_num += 1
img_list.append(img_dir+"/"+image_file)
img_name_list.append(image_file)



return img_list ,img_name_list

def resized_img(source_dir , destination_dir,resize):
'''
将源地址下所有的图片 修改大小后 写在目的地址下
:param source_dir: 源地址
:param destination_dir: 目标地址
:param resize: 修改大小大小 类型为元组(128,128)
:return: none
'''
img_dir = []
img_name_dir = []
img_dir ,img_name_dir = getImages_list(source_dir,img_dir)
# print(img_dir)
x,y = resize
for img_name in img_dir :

img = cv2.imread(img_name, -1)

# 打印原始图片的shape
# print('Original Dimensions : ', img.shape)

# 更改size
img2 = cv2.resize(img, (x, y), interpolation=cv2.INTER_AREA)
# print(img_name.split("/")[3])
# print('Resized Dimensions : ', img2.shape)
# d = destination_dir+ "/"+img_name.split('/')[2].split('.')[0] +".jpg"
d = destination_dir + "/" + img_name.split("/")[3]

cv2.imwrite(d, img2)
print(d)
print("写入成功--------------------------------------")

if __name__ == '__main__':
shape = (96,96)
sdir="./data/anime"
ddir="./Images"
resized_img(sdir,ddir,shape)

 

举报

相关推荐

0 条评论