python批量更改图片尺寸(保持长度和高度的长短关系)

       要求:如果一个文件夹下有若干图片,例如有1000*2000的图片和2000*1000的图片若干,需要保持图片长度和高度的关系,但是要把图片尺寸规范。

一、读取文件夹下图片数量

首先将读取文件夹下的图片数量,用作索引值,如下:

from PIL import Image
import os 

images_dir = 'C:/Users/Administrator/Desktop/rgb'
count = os.listdir(images_dir)
print("count=",len(count))
print("len(count)+1=",len(count)+1)

images_dir是放置图片文件夹的路径。

二、获取图片的尺寸

im = Image.open(images_dir+'/rgb_'+str(i).zfill(4)+'.jpg')
im_size = im.size

im_size[0]获取的是图片宽度,im_size[1]获取的是图片的高度。

im_size[0]>im_size[1]

判断图片长度和高度的关系。

三、更改图片尺寸

im = im.resize((640,448))

四、全部代码

from PIL import Image
import os 

images_dir = 'C:/Users/Administrator/Desktop/rgb'
count = os.listdir(images_dir)
print("count=",len(count))
print("len(count)+1=",len(count)+1)
for i in range(1,len(count)+1):
    im = Image.open(images_dir+'/rgb_'+str(i).zfill(4)+'.jpg')
    im_size = im.size
    print("图片宽度和高度分别是{}".format(im_size))
    if(im_size[0]>im_size[1]):
        print(im_size[0],im_size[1])
        im = im.resize((640,448))
        im.save(images_dir+'/rgb_'+str(i).zfill(4)+'.jpg')
    else:
        im = im.resize((448,640))
        im.save(images_dir+'/rgb_'+str(i).zfill(4)+'.jpg')

猜你喜欢

转载自blog.csdn.net/yql_617540298/article/details/81154145