jeysshon commited on
Commit
a93df6f
·
verified ·
1 Parent(s): e241983

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -9
app.py CHANGED
@@ -7,7 +7,7 @@ import tensorflow as tf
7
  from tensorflow import keras
8
 
9
  # Cargar el modelo entrenado
10
- model1 = load_model('./isatron_v3.h5')
11
 
12
  # Función para encontrar la última capa convolucional
13
  def find_last_conv_layer(model):
@@ -67,19 +67,27 @@ def make_gradcam_heatmap(img_array, model, last_conv_layer_name, pred_index=None
67
  heatmap = heatmap.numpy()
68
  return heatmap
69
 
70
- def overlay_heatmap(heatmap, img, alpha=0.4):
71
- # Redimensionar mapa de calor al tamaño de la imagen
72
  heatmap = cv2.resize(heatmap, (img.shape[1], img.shape[0]))
73
- # Aplicar el colormap RAINBOW para obtener colores más vivos
 
 
 
 
 
74
  heatmap = np.uint8(255 * heatmap)
75
- heatmap = cv2.applyColorMap(heatmap, cv2.COLORMAP_RAINBOW) # Cambiado a RAINBOW
76
- # Convertir imagen a BGR
 
77
  img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
78
- # Aplicar mapa de calor a la imagen original
79
- overlayed_img = heatmap * alpha + img
80
- overlayed_img = np.uint8(overlayed_img)
 
81
  # Convertir de nuevo a RGB
82
  overlayed_img = cv2.cvtColor(overlayed_img, cv2.COLOR_BGR2RGB)
 
83
  return overlayed_img
84
 
85
  def image_classifier1(img):
 
7
  from tensorflow import keras
8
 
9
  # Cargar el modelo entrenado
10
+ model1 = load_model('./isatron_v3.h5') # Cambiado a isatron_v3.h5
11
 
12
  # Función para encontrar la última capa convolucional
13
  def find_last_conv_layer(model):
 
67
  heatmap = heatmap.numpy()
68
  return heatmap
69
 
70
+ def overlay_heatmap(heatmap, img, alpha=0.3):
71
+ # Redimensionar el mapa de calor al tamaño de la imagen
72
  heatmap = cv2.resize(heatmap, (img.shape[1], img.shape[0]))
73
+
74
+ # Aplicar un umbral al mapa de calor para resaltar solo las zonas importantes
75
+ threshold = 0.6 # Solo mostrar las áreas con alta activación
76
+ heatmap[heatmap < threshold] = 0
77
+
78
+ # Aplicar el colormap JET para mantener los colores, pero suavizar la superposición
79
  heatmap = np.uint8(255 * heatmap)
80
+ heatmap = cv2.applyColorMap(heatmap, cv2.COLORMAP_JET)
81
+
82
+ # Convertir la imagen original a BGR para poder mezclar con el mapa de calor
83
  img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
84
+
85
+ # Superponer el mapa de calor en la imagen original
86
+ overlayed_img = cv2.addWeighted(heatmap, alpha, img, 1 - alpha, 0)
87
+
88
  # Convertir de nuevo a RGB
89
  overlayed_img = cv2.cvtColor(overlayed_img, cv2.COLOR_BGR2RGB)
90
+
91
  return overlayed_img
92
 
93
  def image_classifier1(img):