Example #1
0
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'
Example #2
0
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
Example #3
0
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")
Example #4
0
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
Example #5
0
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()
Example #6
0
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
Example #7
0
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]
Example #8
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
Example #9
0
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
Example #10
0
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