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')

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章