def ReconhecerEinger():

    detectorFace = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
    reconhecedor = cv2.face.EigenFaceRecognizer_create()
    reconhecedor.read("classificadorEingen.yml")

    largura,altura=util.getDimensao()

    fonte = cv2.FONT_HERSHEY_COMPLEX_SMALL 
    camera  = util.Camera()

    while (True):
        conectado,imagem=camera.read()
        imagemCinza = cv2.cvtColor(imagem,cv2.COLOR_BGR2GRAY)
        facesDetectadas= detectorFace.detectMultiScale(imagemCinza,scaleFactor=1.5,minSize=(30,30))

        for (x,y,l,a) in facesDetectadas:
            imagemFace = cv2.resize(imagemCinza[y:y+a,x:x+l], (largura,altura))
            cv2.rectangle(imagem,(x,y),(x+l,y+a),(0,0,255),2)
            id,confianca =reconhecedor.predict(imagemFace)
            
            nome= util.getNome(id)

            cv2.putText(imagem,nome,(x,y+(a+30)),fonte,2,(0,0,255))
            cv2.putText(imagem,str(confianca),(x,y+(a+50)),fonte,2,(0,0,255))


        cv2.imshow("Face",imagem)
        if cv2.waitKey(1)== ord("q"):
            break

    camera.release()
    cv2.destroyAllWindows()
Example #2
0
    def Capturar(self, numeroAmostra):

        # codigo que irá compor o nome da imagem e servirá para identificar a pessoa.
        amostra = 1
        # obs.: na classe util deixei fixo o nome da pessoa, e futuramente irei cadastrar no banco de dados
        id = util.getProximoId()
        nome = input("Informe o nome " + str(id)+": ")
        util.setNome(nome)

        largura, altura = util.getDimensao()

        print("Capturando as faces..")
        # instancia o uso da webcam, na classe util será determinado qual camera será usada
        webcam = util.Camera()

        while True:
            # pega efetivamente a imagem da webcam
            s, imagem = webcam.read()

            imagemCinza = cv2.cvtColor(imagem, cv2.COLOR_BGR2GRAY)

            # facesDetectadas=classificador.detectMultiScale(imagemCinza,
            #                                               scaleFactor=1.5,
            #                                               minSize=(150,150))

            facesDetectadas = self.classificador.detectMultiScale(imagem)

            # Desenha um retângulo nas faces detectadas
            for (x, y, l, a) in facesDetectadas:
                cv2.rectangle(imagem, (x, y), (x+l, y+a), (0, 255, 0), 2)

                regiao = imagem[y:y+a, x:x+l]
                regiaoCinzaOlho = cv2.cvtColor(regiao, cv2.COLOR_BGR2GRAY)

                olhosDetectados = self.classificadorOlho.detectMultiScale(
                    regiaoCinzaOlho)
                # Desenha um retângulo nos olhos detectados
                for (ox, oy, ol, oa) in olhosDetectados:
                    cv2.rectangle(regiao, (ox, oy),(ox+ol, oy+oa), (0, 0, 255), 2)
                    # if np.average(imagemCinza) > 70: #indice de luminozidade
                    if cv2.waitKey(1) & 0xFF == ord('q'):
                            imageFace = cv2.resize(imagemCinza[y:y+a, x:x+l], (largura, altura))
                            cv2.imwrite("fotos/pessoa."+str(id) + "."+str(amostra)+".jpg", imageFace)
                        
                            print("[foto "+str(amostra) + " capturada com sucesso]")
                            amostra += 1

            cv2.imshow('Video', imagem)  # mostra a imagem captura na janela
            cv2.waitKey(1)
            if(amostra >= numeroAmostra+1):
                break

        webcam.release()  # dispensa o uso da webcam
        cv2.destroyAllWindows()  # fecha todas a janelas abertas
Example #3
0
                cv2.imwrite(filename, image)
                cv2.namedWindow('Image', cv2.WINDOW_NORMAL)
                cv2.imshow("Image", image)
                cv2.waitKey(10)
                my_stepper.step_forward(frame_step)
            else:
                # print("Frame {} found  not in position at{}:{}".format(my_loop, sy_center,sx_cent))
                tot_s = tot_s + search_step
                my_stepper.step_forward(search_step)

    print("Finished")
    cv2.namedWindow('Image', cv2.WINDOW_NORMAL)
    cv2.imshow("Image", image)
    avg_s_frame = tot_s / nr
    print("Avg step frame: {}".format(avg_s_frame))
    return avg_s_frame


my_stepper = util.Stepper()
my_camera = util.Camera()

parser = argparse.ArgumentParser()
parser.add_argument("--capture", type=int, help="Number of frames to Capture")
parser.add_argument("jobname", help="Name of job(folder/filenames")
args = parser.parse_args()

if args.capture:
    print("Capture {} frames".format(args.capture))
    capture(args.capture, args.jobname)
my_stepper.cleanup()
Example #4
0
    See https://en.wikipedia.org/wiki/Histogram_equalization.
    '''

    image1 = np.copy(image)

    image1 = cv2.cvtColor(image1, cv2.COLOR_RGB2HSV)

    image1[:, :, 2] = cv2.equalizeHist(image1[:, :, 2])

    #image1 = cv2.cvtColor(image1, cv2.COLOR_HSV2RGB)
    image1 = cv2.cvtColor(image1, cv2.COLOR_HSV2BGR)

    return image1


webcam = util.Camera()
while True:
    # pega efetivamente a imagem da webcam
    s, imagem = webcam.read()
    #imagem = histogram_eq(imagem)
    original = np.copy(imagem)
    imagemCinza = cv2.cvtColor(imagem, cv2.COLOR_BGR2GRAY)
    #eq = histogram_eq(imagem)

    facesDetectadas = classificador.detectMultiScale(imagem)
    for (x, y, l, a) in facesDetectadas:
        cv2.rectangle(imagem, (x, y), (x + l, y + a), (0, 255, 0), 2)

        regiao = imagem[y:y + a, x:x + l]
        regiaoCinzaOlho = cv2.cvtColor(regiao, cv2.COLOR_BGR2GRAY)