jcmachicao commited on
Commit
0f65e7f
1 Parent(s): 4227791

Delete app_compara.py

Browse files
Files changed (1) hide show
  1. app_compara.py +0 -136
app_compara.py DELETED
@@ -1,136 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- """
3
- José Carlos Machicao
4
- GestioDinámica
5
- Fecha de producción: 2021_08_28
6
- Fecha de actualización 2021_12_29
7
- Ubicación Original: PythonScripts/gdmk_facerecog/
8
- """
9
-
10
- import streamlit as st
11
- import face_recognition
12
- from PIL import Image
13
- import numpy as np
14
- import pandas as pd
15
- import matplotlib.pyplot as plt
16
- import datetime
17
- import base64
18
-
19
- # BODY
20
- st.image('gdmk.png', width=150)
21
-
22
- st.subheader('Aplicativos de Reconocimiento Facial')
23
- st.title('Comparación de Identidades')
24
-
25
- nom_oper = st.text_input('Nombre de Operador(a):')
26
- st.subheader('**Procedimiento: Comparación de Identidades**')
27
-
28
- up_base = st.file_uploader('Cargue Archivo Base Recibido de su Supervisor: ')
29
-
30
- if up_base is not None:
31
-
32
- base = pd.read_pickle(up_base)
33
- st.write(base.shape)
34
- st.write(base.lista)
35
-
36
- # 2. CARGA DE FOTOS EVENTO
37
- st.subheader('**Procedimiento: Carga de Pantallazos de Evento**')
38
-
39
- up_evento = st.file_uploader('Elija pantallazos del evento: ', accept_multiple_files=True)
40
-
41
- if len(up_evento)==0:
42
-
43
- mensaje='Todavía no se han cargado imágenes.'
44
- st.write(mensaje)
45
-
46
- else:
47
- mensaje='Confirmación, se han cargado '+str(len(up_evento))+' imágenes.'
48
- st.write(mensaje)
49
-
50
- caras_embed = []
51
-
52
- for j, pic in enumerate(up_evento):
53
- ima = face_recognition.load_image_file(pic)
54
- face_locs = face_recognition.face_locations(ima)
55
- face_enco = face_recognition.face_encodings(ima)
56
-
57
- for k, facex in enumerate(face_enco):
58
- top, right, bottom, left = face_locs[k]
59
- face_frame = ima[top:bottom, left:right]
60
- pil_image = Image.fromarray(face_frame)
61
- pil_image_100 = pil_image.resize((100,100))
62
- rotulox = 'nom_' + str(j) + '_' + str(k) + '.jpg'
63
- #pil_image_100.save(rotulox)
64
- caras_embed.append([rotulox, facex, pil_image_100])
65
-
66
- caras_evento_code_df = pd.DataFrame(caras_embed)
67
- caras_evento_code_df.columns = ['rotulo', 'face_embed', 'image']
68
-
69
- # 3. COMPARACIÓN
70
-
71
- st.subheader('**Procedimiento: Comparación**')
72
-
73
- codesx = base.codigos
74
- lista_fotos = base.lista
75
-
76
- resultados = []
77
- for face in caras_evento_code_df.face_embed:
78
- matches = face_recognition.compare_faces(list(codesx), face)
79
- timestamp = datetime.datetime.now()
80
- try:
81
- indice = int(np.where(matches)[0])
82
- halla = lista_fotos[indice]
83
- resultados.append([timestamp, halla])
84
- except:
85
- resultados.append([timestamp, 'Desconocido'])
86
-
87
- timestamp = str(datetime.datetime.now()).replace(':','-')
88
-
89
- resultados_df = pd.DataFrame(resultados)
90
- resultados_df.columns = ['timestamp', 'nombre']
91
- resultados_df['arch_evento'] = caras_evento_code_df.rotulo
92
- resultados_df['imagenes'] = caras_evento_code_df.image
93
- resultados_df.to_csv('resultados/resultados_'+timestamp+'.csv')
94
-
95
- st.dataframe(resultados_df.drop(['imagenes'], axis=1))
96
- asistentes = resultados_df.nombre
97
-
98
- asistencia = []
99
- for nom in base.lista:
100
- if nom in list(asistentes):
101
- asistencia.append([nom, 'Asistió'])
102
- else:
103
- asistencia.append([nom, 'No Asistió'])
104
- asist_df = pd.DataFrame(asistencia)
105
- st.dataframe(asist_df)
106
-
107
- n_fig = 10
108
- fig, ax = plt.subplots(1, n_fig, figsize=(21, 2))
109
- for i in range(n_fig):
110
- if i > len(resultados_df)-1:
111
- img = Image.open('images/void.jpg')
112
- ax[i].imshow(img)
113
- ax[i].axis('off')
114
- else:
115
- img = resultados_df.imagenes.iloc[i]
116
- ax[i].imshow(img)
117
- ax[i].set_title(str(resultados_df.nombre.iloc[i]))
118
- ax[i].axis('off')
119
-
120
- timestamp = str(datetime.datetime.now()).replace(':','-')
121
- plt.savefig('resultados_'+timestamp+'.jpg')
122
- st.image(Image.open('resultados_'+timestamp+'.jpg'), width=800)
123
- #st.pyplot(fig)
124
-
125
- st.write('Se ha guardado los archivos en el folder resultados.')
126
- resultados_df.to_csv('resultados/verificacion.csv')
127
- asist_df.to_csv('resultados/asistencia.csv')
128
-
129
- c1, c2, c3 = st.columns(3)
130
- with c1:
131
- st.write(' ')
132
- with c2:
133
- st.write(' ')
134
- with c3:
135
- st.write(' ')
136
- st.image('gdmk.png', width=100, caption='Designed and Powered by GestioDinámica')