Sexta semana imagen belleza

Uno. Notas de estudio

Esta es una biblioteca de funciones que admite el almacenamiento, la visualización y el procesamiento de imágenes. Puede procesar casi todos los formatos de imagen y puede completar operaciones como hacer zoom, recortar, superponer y agregar rayas y texto a las imágenes.

El primero es usar pip para descargar uno:

 

Tiene muchas subbibliotecas, como: Image, ImageChops, ImageDraw, etc., cada una de las cuales tiene poderes mágicos y desempeña su propio papel,

Por supuesto, lo primero que aprendemos es la clásica sub-biblioteca de imágenes;

Método Descripción
Image.open (nombre de archivo) Cargar archivo de imagen según parámetros
Image.new (modo, tamaño, color) Crea una nueva imagen basada en los parámetros dados
Image.open (StringIO.StringIO (buffer)) Obtener imagen de cadena
Image.frombytes (modo, tamaño, datos) Crea una imagen basada en datos de píxeles
Image.verify () Verifique la integridad del archivo de imagen y devuelva una excepción

 

 

 

 

 

Funciones comunes

Lee una foto :

im = Image.open ('test.jpg')

Mostrar una foto :

im.show ()

Guarda la imagen :

im.save ("save.gif", "GIF") #Guardar imagen como formato gif

Ver información de la imagen

im.format, im.size, im.mode

Recorte de imagen:
cuadro = (100,100,500,500)

# Establecer el área a recortar

region = im.crop (box) # En este momento, region es un nuevo objeto de imagen.

Cambiar el tamaño de la imagen

out = img.resize ((128,128)) # redimensionar a 128 * 128 píxeles de tamaño

Rotar la imagen

out = img.rotate (45) #rotate 45 grados en sentido antihorario

Conversión de tipo de imagen

im = im.convert ("RGBA")

 

Segundo, la miniatura

 

 

 

 

 

 

Tercero, cambia el color

 

 

 

 

 

Cuatro, esquema

 

 

1  import numpy as np
 2  import cv2
 3  
4  def beauty_face (img):
 5      '' ' 
6      Dest = (Src * (100-Opacity) + (Src + 2 * GuassBlur (EPFFilter (Src) -Src + 128) -256 ) * Opacidad) / 100;
 7      https://my.oschina.net/wujux/blog/1563461
 8      '' ' 
9  
10      dst = np.zeros_like (img)
 11      # int value1 = 3, value2 = 1; microdermabrasion Determinación del nivel y nivel de detalle 
12      v1 = 3
 13      v2 = 1
 14      dx = v1 * 5 # Uno de los parámetros de filtrado bilaterales 
15      fc = v1 * 12.5 #Uno de los parámetros de filtrado bilaterales 
16      p = 0.1
 17     
18      temp4 = np.zeros_like (img)
 19      
20 temp1      = cv2.bilateralFilter (img, dx, fc, fc)
 21      temp2 = cv2.subtract (temp1, img)
 22      temp2 = cv2 .add (temp2, (10,10,10,128 ))
 23      temp3 = cv2.GaussianBlur (temp2, (2 * v2-1,2 * v2-1 ), 0)
 24      temp4 = cv2.add (img, temp3)
 25      dst = cv2.addWeighted (img, p, temp4,1-p, 0.0 )
 26      dst = cv2.add (dst, (10, 10, 10,255 ))
 27      return dst
 28  
29  defbeauty_face2 (src):
 30      '' 
'31      Dest = (Src * (100-Opacity) + (Src + 2 * GuassBlur (EPFFilter (Src) -Src + 128) -256) * Opacity) / 100;
 32      '' ' 
33  
34      dst = np.zeros_like (src)
 35      # int valor1 = 3, valor2 = 1; Determinación del grado de dermoabrasión y detalle 
36      v1 = 3
 37      v2 = 1
 38      dx = v1 * 5 # Uno de los parámetros de filtrado bilateral 
39      V1 * = 12,5 FC # un parámetro de filtrado bilateral 
40      P 0,1 =
 41 es     
42 está      Temp4 = np.zeros_like (la src)
 43 es      
44 es      temp1 =cv2.bilateralFilter (src, dx, fc, fc)
 45      temp2 = cv2.subtract (temp1, src)
 46      temp2 = cv2.add (temp2, (10,10,10,128 ))
 47      temp3 = cv2.GaussianBlur (temp2, ( 2 * v2 - 1,2 * v2-1 ), 0)
 48      temp4 = cv2.subtract (cv2.add (cv2.add (temp3, temp3), src), (10, 10, 10, 255 ))
 49      
50      dst = cv2.addWeighted (src, p, temp4,1-p, 0.0 )
 51      dst = cv2.add (dst, (10, 10, 10,255 ))
 52      return dst
 53  
54  
55  def init ():
 56      img = cv2 .imread ( ' testimg.jpg ')
 57  
58      # blur1 = cv2.GaussianBlur (img, (5,5), 0) 
59      # blur2 = cv2.bilateralFilter (img, 9, 75, 75) 
60      blur3 = beauty_face (img)
 61      blur4 = beauty_face2 (img)
 62  
63      cv2.imshow ( ' image0 ' , img)
 64      # cv2.imshow ('image1', blur1) 
65      # cv2.imshow ('image2', blur2) 
66      cv2.imshow ( ' image3 ' , blur3)
 67      cv2. imshow ( ' imagen4 ' , desenfoque4)
 68 
69      # cv2.namedWindow ('image', cv2.WINDOW_NORMAL) 
70      # cv2.resizeWindow ('image', 1000, 1000) # 定义 frame 的 大小
71  
72      cv2.waitKey (0)
 73      cv2.imwrite ( ' result1.png ' , blur3)
 74      cv2.imwrite ( ' result2.png ' , blur4)
 75      cv2.destroyAllWindows ()
 76  
77  if  __name__ == " __main__ " :
 78      init ()

 

Blanqueamiento

 

 

 

GIF

 

 

Supongo que te gusta

Origin www.cnblogs.com/hrunjie/p/12681265.html
Recomendado
Clasificación