Listando e redimencionando imagens em massa com Python

Listando e redimencionando imagens em massa com Python
Redimencionando imagens de forma simples com Python

Neste post eu vou apresentar como criar um script extramente simples e eficiente para redimencionar imagens em massa utilizando a biblioteca Pillow.

  • Instalando a biblioteca
    O primeiro passo para avançar com este tutorial é instalar a biblioteca Pillow em sua máquina. Para isto vamos utilizar o pip package manager. Abra o terminal e execute o seguinte comando abaixo:
pip3 install Pillow

Codificando
O script é bem simples e vamos comentar em cima dos pontos que precisamos configurar nas variaveis do script.

imagePath:
configura o caminho da pasta com as imagens que iremos redimencionar.

imageResizedDir:
diretório onde será salvo as imagens redimencionadas

mimeType:
Formato dos arquivos que iremos listar dentro do diretório. Em nosso exemplo todos os arquivos JPG.

imageResizeWidthTo:
Tamanho da largura da imagem que iremos redimencionar. No exemplo 400 pixels

imageResizeHeightTo:
Tamanho da altura da imagem que iremos redimencionar. No exemplo 400 pixels

import glob
from PIL import Image

imagePath = './Photos'
imageResizedDir = './Resized'
mimeType = '*.jpg'
imageResizeWidthTo = 400
imageResizeHeightTo = 400

searchFiles = imagePath+"/"+mimeType

dir_path = r''+searchFiles+''
for file in glob.glob(dir_path, recursive=True):
  
    imageFilename = file
    i = imageFilename.split('/')[2]
    
    image = Image.open(file)
    originaImageSize = (f"{image.size}")
    print(imageFilename + "; " + originaImageSize)
    
    image.thumbnail((imageResizeWidthTo, imageResizeHeightTo))
    image.save(imageResizedDir+"/"+i)
  • Testando o script em redimencionando imagens em massa
    Para testarmos o script é muito simples. Depois de configurado as variaveis do script vamos abrir o terminal e executar o script utilizando o Python 3, seguindo o exemplo abaixo:
python3 ./dynamicImageResize.py
No exemplo utilizei uma galeria de imagens com 1500 imagens com tamanho de 3mb cada imagem.

Repositório do script com o exemplo
Você pode baixar este script no repositório do Github no endereço:
https://github.com/jaccon/pythonListResizeImages

Se o script foi útil pra você por favor avalie no Github