imresize — Alterando as Dimensões da Imagem
Podemos alterar as dimensões de uma imagem (representada como uma matriz de tipo numpy array) utilizando a seguinte função:
def imresize(arr, newsize, interp='bicubic', mode=None):
arr = asarray(arr)
im = toimage(arr,mode=mode)
if type(newsize) is types.IntType:
newsize = float(newsize)
if type(newsize) is types.FloatType:
newsize = (im.size[0] * newsize, im.size[1] * newsize)
else:
newsize = (newsize[1], newsize[0])
func = {'nearest':0,'bilinear':2,'bicubic':3,'cubic':3}
im = im.resize(newsize,resample=func[interp])
return fromimage(im)
No caso, o primeiro parâmetro arr precisa ser uma matriz. newsize deve ser um inteiro ou ponto flutuante, indicando a proporção do redimensionamento, ou uma dupla contendo as novas largura e altura. O parâmetro interp indica qual algoritmo utilizado na interpolação.