Adicionando bordas a uma imagem usando python

Eu tenho um grande número de imagens de um tamanho fixo (digamos 500 * 500). Eu quero escrever um script python que irá redimensioná-los para um tamanho fixo (digamos 800 * 800), mas vai manter a imagem original no centro e preencher a área em excesso com uma cor fixa (digamos preto).

Eu estou usando o PIL. Posso redimensionar a imagem usando oresize função agora, mas isso muda a razão de aspecto. Há alguma maneira de fazer isso?

questionAnswers(6)

yourAnswerToTheQuestion