def download(file): try: filename = secure_filename(file.filename) file.save(os.path.join('./',secure_filename(filename))) return filename except Exception as e: tratamentoDeErros.printErro(os.path.basename(__file__),inspect.getframeinfo(inspect.currentframe())[2],e) return 'Ocorreu um erro no download'
def captura(video): cam = cv2.VideoCapture( video ) # carrega a camera a ser usada, 0 significa que usava a camera embutida, webcam # cam=video msg = {} Count = 0 ID = connection.consultaID() + 1 try: while Count < 3: ret, img = cam.read() gray = cv2.cvtColor( img, cv2.COLOR_BGR2GRAY ) # converte a imagem para a escala cinza, isso ajuda no reconhecimento if np.average( gray) > 110: # testa se o brilho da imagem é satisfatorio faces = face_cascade.detectMultiScale( gray, 1.3, 5 ) # detecta as faces na imagem, guarda lista com as coordenadas da face(x,y,largura,altura) for (x, y, w, h) in faces: FaceImage = gray[y - int(h / 2):y + int(h * 1.5), x - int( x / 2 ):x + int( w * 1.5 )] # a imagem é cortada de forma a capturar apenas a face Img = (DetectaOlhos(FaceImage)) if Img is not None: frame = Img # Show the detected faces else: frame = gray[y:y + h, x:x + w] cv2.imwrite( "dataSet/User." + str(ID) + "." + str(Count) + ".jpg", frame) cv2.waitKey(300) Count = Count + 1 msg['id'] = ID return msg except Exception as e: tratamentoDeErros.printErro( nomeArq, inspect.getframeinfo(inspect.currentframe())[2], e) msg['erro'] = 'Ocorreu um erro durante a captura facial, tente novamente' return msg
def testa(): try: conn = mysql.connector.connect(**config) print("Acesso ao banco de dados: Conexão Estabelecida - INSERT") except mysql.connector.Error as err: Erros.printErro(nomeDoArquivo,inspect.getframeinfo(inspect.currentframe())[2],err) else: cursor = conn.cursor() cursor.close() conn.commit() conn.close() print("Fechamento do banco de dados: Com sucesso - INSERT")
def reconhece(img): cont = ID = 0 files = sorted([f for f in os.listdir(path) if isfile(join(path, f))]) msg = {} try: imagem = face_recognition.load_image_file(img) imagem_encoding = face_recognition.face_encodings(imagem)[0] for pessoa in files: img_desconhecida = face_recognition.load_image_file( f'./dataSet/{pessoa}') img_desconhecida_encoding = face_recognition.face_encodings( img_desconhecida)[0] # Compara as faces results = face_recognition.compare_faces([imagem_encoding], img_desconhecida_encoding, 0.5) if results[0]: if pessoa[6] != '.': ID = (f'{pessoa[5]}{pessoa[6]}') else: ID = pessoa[5] print(pessoa) cont += 1 if cont == 3: break if cont == 0: msg = {'erro': 'Usuário não cadastrado'} else: nome = buscaNome(ID) msg = {'nome': nome, 'id': ID} except IndexError as e: tratamentoDeErros.printErro( nomeArq, inspect.getframeinfo(inspect.currentframe())[2], e) msg = {'erro': 'Não consegui encontrar uma face'} except Exception as e: tratamentoDeErros.printErro( nomeArq, inspect.getframeinfo(inspect.currentframe())[2], e) msg = {'erro': 'Houve algum erro!'} finally: return msg
def deleteId(id): try: conn = mysql.connector.connect(**config) except mysql.connector.Error as err: Erros.printErro(nomeDoArquivo,inspect.getframeinfo(inspect.currentframe())[2],err) else: cursor = conn.cursor() deletaLinha=('delete from usuarios where id_usuario={}').format(id) cursor.execute(deletaLinha) cursor.close() conn.commit() conn.close()
def verificaCadastro(img): cont = ID = 0 files = sorted([f for f in os.listdir(path) if isfile(join(path, f))]) msg = {} try: imagem = face_recognition.load_image_file(img) imagem_encoding = face_recognition.face_encodings(imagem)[0] for pessoa in files: img_desconhecida = face_recognition.load_image_file( f'./dataSet/{pessoa}') img_desconhecida_encoding = face_recognition.face_encodings( img_desconhecida)[0] # Compara as faces results = face_recognition.compare_faces([imagem_encoding], img_desconhecida_encoding, 0.5) if results[0]: ID = pessoa[5] print(pessoa) cont += 1 msg['cadastro'] = 'sim' if cont > 3 else 'nao' except IndexError as e: print('Não consegui encontrar uma face - Verificação de cadastro') msg = { 'erro': 'Não consegui encontrar uma face - Verificação de cadastro' } except Exception as e: tratamentoDeErros.printErro( nomeArq, inspect.getframeinfo(inspect.currentframe())[2], e) msg = {'erro': 'Houve algum erro!'} finally: return msg
def consultaID(): try: conn = mysql.connector.connect(**config) print("Acesso ao banco de dados: Conexão Estabelecida - ConsultaID") except Exception as err: Erros.printErro(nomeDoArquivo,inspect.getframeinfo(inspect.currentframe())[2],err) else: cursor = conn.cursor() consulta='SELECT id_usuario FROM usuarios ORDER BY id_usuario DESC limit 1' cursor.execute(consulta) resul = cursor.fetchall() conn.commit() cursor.close() conn.close() print("Fechamento do banco de dados: Com sucesso - ConsultaID") return resul[0][0]
def buscaConteudo(id): try: conn = mysql.connector.connect(**config) print("Acesso ao banco de dados: Conexão Estabelecida - BuscaConteudo") except mysql.connector.Error as err: Erros.printErro(nomeDoArquivo,inspect.getframeinfo(inspect.currentframe())[2],err) else: cursor = conn.cursor() buscaDados = 'select * from agrotoxicos where nivel_usuario <= (select nivel_usuario from usuarios where id_usuario={}) order by periculosidade_agrotoxico desc;'.format(id) cursor.execute(buscaDados) resul = cursor.fetchall() conn.commit() cursor.close() conn.close() print("Fechamento do banco de dados: Com sucesso - BuscaConteudo") return resul
def selectNome(id): try: conn = mysql.connector.connect(**config) print("Acesso ao banco de dados: Conexão Estabelecida - SELECT") except mysql.connector.Error as err: Erros.printErro(nomeDoArquivo,inspect.getframeinfo(inspect.currentframe())[2],err) else: cursor = conn.cursor() buscaDados = 'select nome_usuario from usuarios where id_usuario={};'.format(id) cursor.execute(buscaDados) resul = cursor.fetchall() nome = resul[0][0] conn.commit() cursor.close() conn.close() print("Fechamento do banco de dados: Com sucesso - SELECT") return nome
def insert(lib): try: conn = mysql.connector.connect(**config) print("Acesso ao banco de dados: Conexão Estabelecida - INSERT") except mysql.connector.Error as err: Erros.printErro(nomeDoArquivo,inspect.getframeinfo(inspect.currentframe())[2],err) else: cursor = conn.cursor() nome = lib['nome'] id = lib['id'] insereDados = 'insert into usuarios (id_usuario,nome_usuario) values (%s,%s);' resul = cursor.execute(insereDados, (id, nome)) conn.commit() cursor.close() conn.close() print("Fechamento do banco de dados: Com sucesso - INSERT") return resul