Visão geral da biblioteca PIL:
A biblioteca PIL pode atender aos requisitos funcionais de arquivamento e
processamento de imagens: arquivamento de imagens: processamento em lote de imagens, geração de visualizações de imagens, conversão de formatos de imagens, etc.;
processamento de imagens: processamento básico de imagens, processamento de pixels, processamento de cores, etc.
Biblioteca PIL Classe de imagem:
de PIL Import Imagem m = Image.open ( " D: \\ picture.jpg " ) # arquivos de fotos de leitura
Gere miniaturas:
im.thumbnail ((128, 128)) # (128, 128) é o tamanho da miniatura. im.save ( " birdnestTN " , " JPEG " ) im.show () # exibir miniaturas (thumbnails não pode simplesmente clicar duas vezes para abrir, e pode ser usado PIL.image a leitura aberta, em seguida, usar o método show () é exibido)
Girar e aplicar zoom:
im.rotate (45) # Image.rotate (ângulo) gire a imagem por ângulo im.resize (128) # Image.resize (tamanho) ajuste a imagem por tamanho im.show ()
Troca de cores da imagem
I & lt, G, B = im.split () # extracto de cada canal de cor da imagem RGB OM = Image.merge ( " RGB " , (B, L, P & lt)) # Os canais são cada um, independentemente, um novo resíntese imagem om.save ( ' pictureBGR.jpg ' )
Filtragem e aprimoramento de imagens
Aquisição do esboço da imagem:
do PIL import Imagem do PIL import ImageFilter im = Image.open ( " picture.jpg " ) om = im.filter (ImageFilter.CONTOUR) om.save ( ' pictureContour.jpg ' )
Ajustar cor, brilho, contraste, nitidez
Em relevo
do PIL import Imagem do PIL import ImageFilter im = Image.open ( " picture.jpg " ) om = im.filter (ImageFilter.EMBOSS) om.save ( ' picture1.jpg ' )
Extraia todos os quadros de animação
a partir do PIL Import Imagem IM = Image.open ( ' móvel FIG .gif ' ) # lê um arquivo GIF a tentativa : im.save ( ' picframe {:} .png 02d ' .format (im.tell ())) o tempo Verdadeira : im.seek (im.tell () +1 ) im.save ( ' picframe {: 02d} .png ' .format (im.tell ())), exceto : print ( " fim do processamento " )
Pintura de caracteres chineses
da importação de PIL Image ascii_char = list ( ' China é realmente um ótimo país ' ) def get_char (r, b, g, alpha = 256 ): se alpha == 0: return ' ' grey = int (0.2126 * r + 0.7152 * g + 0,0722 * b) unidade = 256 / len (ascii_char) retorna ascii_char [int (cinza // unidade)] def main (): im = Image.open ( ' pic.PNG ' ) LARGURA, ALTURA = 100, 60 im =im.resize ((WIDTH, HEIGHT)) txt = "" para i no intervalo (HEIGHT): para j no intervalo (WIDTH): txt + = get_char (* im.getpixel ((j, i))) txt + = ' \ n ' fo = open ( " pic_char.txt " , " w " ) fo.write (txt) fo.close () main ()