python 批量改图片大小_Python批量改变图片的size

本文介绍了一个Python脚本,用于批量处理图片大小。根据需求,脚本将JPG、PNG和BMP文件夹中非128x128尺寸的图片调整为256x256,并保留原始比例。128x128尺寸的图片则保留在特定文件夹内,同时删除原文件。
摘要由CSDN通过智能技术生成

因为老师的要求,要把JPG文件夹下的凡是等于128128的图片都保留原状,其他size的图片则resize成256256的大小。所以就写了一个脚本,效率不高,但是能够完成任务就过去了。

本来的文件目录结构是:

a1c767a8e581

图片.png

import os

from PIL import Image

import sys

#获取path目录下的所有文件

def get_imlist(path):

return[os.path.join(path,f) for f in os.listdir(path)]

def change_size(path):

directorys=get_imlist(path)

for directory in directorys:

#不是图片文件就跳过

if not(directory.endswith('j.jpg') or directory.endswith('p.png') or directory.endswith('b.bmp')):

pass

else:

img=Image.open(directory)

s="/"

#获取文件名(含后缀)

oimage_name=directory[directory.rfind(s)+1:]

#获取原图的宽度和高度

(oimage_width,oimage_height)=img.size

if oimage_width==128 and oimage_height==128:

to_save=path+'/128*128/'+oimage_name

img.save(to_save)

#移除原图

os.remove(directory)

else:

to_save=path+'/256*256/'+oimage_name

new_width=256

new_height=256

out=img.resize((new_width,new_height),Image.ANTIALIAS)

out.save(to_save)

os.remove(directory)

change_size("/home/winney/image_db/jpg")

change_size("/home/winney/image_db/bmp")

change_size("/home/winney/image_db/png")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值