Operaciones relacionadas de la biblioteca Python PIL

1. Descripción general de la biblioteca PIL: la biblioteca PIL puede completar los requisitos funcionales de archivo de imágenes y procesamiento de imágenes. (1) Archivo de imágenes: procesamiento por lotes de imágenes, generación de vistas previas de imágenes, conversión de formatos de imagen, etc. (2) procesamiento de imágenes: procesamiento básico de imágenes, procesamiento de píxeles, procesamiento de color, etc.

Acerca de la biblioteca PIL Instrucciones de análisis de clase de imagen ()

 

Para cargar un archivo de imagen, im = Image.open ('Ubicación de guardado de imagen'), desea guardar la imagen im.save ('Quiere guardar la ubicación de imagen')

Lo siguiente usará algunos ejemplos para ilustrar:

# im.thumbnail = ((128,128)) Genera miniaturas para im, donde (128,128) es el tamaño de las miniaturas.

from PIL import Image # Reference PIL library 
im = Image.open ('C: / Users / 86183 / Desktop / WeChat picture_20200414133515.jpg') # Open image 
im.thumbnail ((128,128)) # Image thumbnail , El binario (128,128) es el tamaño de la imagen generada 
im.save ('C: /Users/86183/Desktop/suolvutu1.jpg') # save

<Imagen original   <miniatura

 Ejemplo de cambio de colores.

from PIL import Image 
im = Image.open ('C: / Users / 86183 / Desktop / WeChat picture_20200414134749.jpg') 
r, g, b = im.split () # Obtener canal RGB 
newg = g.point (lambda i: i * 0.9) 
#Cambie el valor de color del canal G a 0.9 veces el nuevo punto original b = b. (lambda i: i <100) 
# Seleccione el punto de píxel con un valor de canal B inferior a 100 om = Image.merge (im. modo, (r, newg, newb)) # Combina 3 canales en una nueva imagen 
om.save ('C: / Users / 86183 / Desktop / color change.jpg') # Imagen de salida

<Imagen original: <Después de cambiar los colores

 

Mejora y filtrado de imágenes: utilice el método Filter () de la clase Image para utilizar la clase ImageFilter, de la siguiente manera: Image.filter (ImageFliter.fuction)

Obtén el contorno de la imagen. Imagen original ibid

de PIL import Imagen 
de PIL import ImageFilter 
im = Image.open ('C: / Users / 86183 / Desktop / WeChat picture_20200414134749.jpg') 
om = im.filter (ImageFilter.CONTOUR) 
om.save ('C: / Users / 86183 / Desktop / Get profile.jpg ')

 <Esquema

Filtrado y mejora de imágenes:

 

 Usando ImageFilter.EMBOSS puede hacer que la imagen produzca un efecto de relieve, la operación específica es la siguiente:

desde PIL import Imagen 
desde PIL import ImageFilter 
im = Image.open ('C: / Users / 86183 / Desktop / WeChat image_20200414134749.jpg') 
om = im.filter (ImageFilter.EMBOSS) 
om.save ('C: / Usuarios / 86183 / Escritorio / relieve map.jpg ')

 <Relieve

 

Dibujo de personaje de imagen:

Las imágenes de mapa de bits son una distribución regular compuesta por píxeles de diferentes colores. Si utiliza una cadena de caracteres en lugar de píxeles, la imagen se convierte en un dibujo de caracteres.

from PIL import Image 
ascii_char = list ('"$% _ & WM # * oahkbdpqwmZO0QLCJUYXzcvunxr \ 
jft / \ | () 1 {} []? - / + @ <> i!;:,, \ ^`.') 
def get_char (r , b, g, alpha = 256): 
    si alpha == 0: 
        return '' 
    gray = int (0.2126 * r + 0.7152 * g + 0.0722 * b)    
    unit = 256 / len (ascii_char) 
    return ascii_char [int (gray / / unit)] 
def main (): 
    im = Image.open ('archivo: /// C: / Users / 86183 / Desktop / 微 信 图片 _20200414182738.png') 
    WIDTH, HEIGHT = 100,100 
    im = im.resize (( WIDTH, HEIGHT)) 
    txt = "" 
    para i in range (HEIGHT): 
        para j in range (WIDTH): 
            txt + = get_char (* im.getpixel ((j, i))) 
    fo = open ("zifuhua.txt "," w ") 
    fo.escribir (txt)
    fo.close () 
main ()

  < Imagen original <Imagen del personaje

 

 

 

 

 

Además de los ejemplos anteriores, PIL también puede crear imágenes GIF y extraer imágenes GIF.

 

from PIL import Image 
im = Image.open ('C: /Users/86183/Desktop/2016120211583958491.gif') 
intente: 
    im.save ('C: / Users / 86183 / Desktop / tiquzhenshu {: 03d} .png'. format (im.tell ())) 
    while True: 
        im.seek (im.tell () + 1) 
        im.save ('C: / Users / 86183 / Desktop / tiquzhenshu {: 02d} .png'.format (im .tell ())) 
    excepto: 
        print ('操作 完成')
        

  

 

 

 

<Imagen GIF original                        

 

Supongo que te gusta

Origin www.cnblogs.com/kwjl/p/12698677.html
Recomendado
Clasificación