DHEIVER commited on
Commit
8ec2315
1 Parent(s): 1036195

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -15
app.py CHANGED
@@ -134,40 +134,40 @@ def processar_imagem_de_entrada_wrapper(img, modelo, salvar_resultado=False):
134
  labels = kmeans.labels_
135
  cluster_centers = kmeans.cluster_centers_
136
 
 
 
137
  # Extração de características dos clusters
138
  num_clusters = len(cluster_centers)
139
  cluster_features = []
140
  for i in range(num_clusters):
141
- cluster_mask = labels == i # Crie uma máscara booleana para o cluster
142
-
143
- # Calcule a área do cluster
144
  area = np.sum(cluster_mask)
145
-
146
- if area == 0: # Ignorar clusters vazios
147
  continue
148
-
149
- # Calcule a forma do cluster usando a razão entre área e perímetro
150
  contours, _ = cv2.findContours(np.uint8(cluster_mask), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
151
  if len(contours) > 0:
152
  perimeter = cv2.arcLength(contours[0], True)
153
  compactness = 4 * np.pi * area / (perimeter ** 2)
154
-
155
  cluster_features.append({'area': area, 'compactness': compactness})
156
 
157
- # Decida se há uma doença com base nas características dos clusters
158
  has_disease_flag = any(feature['area'] >= 200 and feature['compactness'] < 0.3 for feature in cluster_features)
159
 
160
- # Formate o indicador de doença como uma string
161
  if has_disease_flag:
162
  status_doenca = "Sim"
163
- explicacao = "A máquina detectou uma possível doença nos vasos sanguíneos."
164
  else:
165
  status_doenca = "Não"
166
- explicacao = "A máquina não detectou nenhuma doença nos vasos sanguíneos."
167
 
168
- # Incremente a contagem de análises
169
- global num_analises
170
- num_analises += 1
171
 
172
  return resultado, img_out, status_doenca, explanation, f"{num_analises} análises realizadas"
173
 
 
134
  labels = kmeans.labels_
135
  cluster_centers = kmeans.cluster_centers_
136
 
137
+ # Resto do código permanece inalterado
138
+
139
  # Extração de características dos clusters
140
  num_clusters = len(cluster_centers)
141
  cluster_features = []
142
  for i in range(num_clusters):
143
+ cluster_mask = labels == i # Create a boolean mask for the cluster
144
+
145
+ # Calcular área do cluster
146
  area = np.sum(cluster_mask)
147
+
148
+ if area == 0: # Skip empty clusters
149
  continue
150
+
151
+ # Calcular forma do cluster usando a relação entre área e perímetro
152
  contours, _ = cv2.findContours(np.uint8(cluster_mask), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
153
  if len(contours) > 0:
154
  perimeter = cv2.arcLength(contours[0], True)
155
  compactness = 4 * np.pi * area / (perimeter ** 2)
156
+
157
  cluster_features.append({'area': area, 'compactness': compactness})
158
 
159
+ # Decidir se há doença com base nas características dos clusters
160
  has_disease_flag = any(feature['area'] >= 200 and feature['compactness'] < 0.3 for feature in cluster_features)
161
 
162
+ # Formatar o indicador de doença como uma string
163
  if has_disease_flag:
164
  status_doenca = "Sim"
165
+ explanation = "A máquina detectou uma possível doença nos vasos sanguíneos."
166
  else:
167
  status_doenca = "Não"
168
+ explanation = "A máquina não detectou nenhuma doença nos vasos sanguíneos."
169
 
170
+ # Resto do código permanece inalterado
 
 
171
 
172
  return resultado, img_out, status_doenca, explanation, f"{num_analises} análises realizadas"
173