要求:如果一個文件夾下有若干圖片,例如有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')