Implementación de filtro graba en relieve y Aplicación

Un filtro graba en relieve la Introducción:

        filtro graba en relieve utilizado en imágenes de detección de bordes y curvas de nivel, se puede mejorar efectivamente la información de alta frecuencia (bordes y contornos) de la imagen, conservando la información de baja frecuencia (contenido de la imagen) de la imagen.


Relieve filtro de convolución ↑
 

Dos experimentos: Filtro de relieve implementan utilizando filtros realzan los contornos Relieve

1  importación cv2
 2  
3  importación numpy como np
 4  
5  # Escala de grises 
6  
7  def BGR2GRAY (IMG):
 8  
9      b = img [:,:, 0] .copy ()
 10  
11      g = img [:,:, 1 ] .copy ()
 12  
13      r = img [:,:, 2 ] .copy ()
 14  
15      # escala de grises 
16  
17      OUT = 0,2126 r * + 0,7152 * g + 0,0722 * b
 18  
19      OUT = out.astype (np. uint8)
 20  
21      vuelta hacia fuera
22  
23  # filtro de gofrado 
24  
25  def emboss_filter (img, K_size = 3 ):
 26  
27      H, W = img.shape
 28  
29      # cero acolchado 
30  
31      pad = K_size // 2
 32  
33      OUT = np.zeros ((H + almohadilla * 2, W + pad * 2), dtype = np.float)
 34  
35      fuera [pad: almohadilla + H, pad: almohadilla + W] = . img.copy () astype (np.float)
 36  
37      tmp = out.copy ()
 38  
39      # de estampado kernel 
40  
41     K = [[-2, -1, 0], [-.... 1, 1., 1.], [0., 1., 2 .]]
 42  
43      # filtrar 
44  
45      para y en rango ( H):
 46  
47          para x en gama (W):
 48  
49              fuera [pAD + y, almohadilla + x] = np.sum (K * (tmp [y: y + K_size, x: x + K_size]))
 50  
51      OUT = np.clip (hacia fuera, 0, 255 )
 52  
53      OUT = OUT [pad: almohadilla + H, pad: almohadilla + W] .astype (np.uint8)
 54  
55      vuelta hacia fuera
 56  
57  # imagen Lee 
58  
59img = cv2.imread ( " ../paojie.jpg " ) .astype (np.float)
 60  
61  # BGR2GRAY 
62  
63 gris = BGR2GRAY (IMG)
 64  
65  # relieve filtrado 
66  
67 OUT = emboss_filter (gris, K_size = 3 )
 68  
69  # Guardar resultado 
70  
71 cv2.imwrite ( " out.jpg " , hacia fuera)
 72  
73 cv2.imshow ( " resultado " , hacia fuera)
 74  
75  cv2.waitKey (0)
 76  
77 cv2.destroyAllWindows ()

 


Tres resultados:


filtro Relieve después del efecto de la imagen ↑
 

Después de que la imagen se convierte a escala de grises ↑
 

        Puede ser visto, filtro graba en relieve puede mejorar efectivamente el contorno de la imagen.


Cuatro de referencia:

  https://www.jianshu.com/p/0f7102dec590

Supongo que te gusta

Origin www.cnblogs.com/wojianxin/p/12508170.html
Recomendado
Clasificación