Não está funcionando a etapa de detector de imagem na hora de visualizar

Home Fóruns Fórum Reconhecimento de Faces e de Objetos com Python e Dlib Não está funcionando a etapa de detector de imagem na hora de visualizar

Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #39064
    UFPA
    Participante

    Print da Tela

    #39065
    UFPA
    Participante

    Por que está acontecendo esse erro de não as imagens? O código é o mesmo e todas as bibliotecas colocadas corretamente.

    #39066
    UFPA
    Participante

    Vocês podem transcrever o código de vocês para o colab? Irá resolver a situação mais rápido aqui.

    import os
    import dlib
    import cv2
    import glob

    print(dlib.test_simple_object_detector(“recursos/teste_relogios.xml”, “recursos/detector_relogios.svm”))

    detectorRelogio = dlib.simple_object_detector(“recursos/detector_relogios.svm”)
    for imagem in glob.glob(os.path.join(“relogios_teste”, “*.jpg”)):
    img = cv2.imread(imagem)
    objetosDetectados = detectorRelogio(img)
    for d in objetosDetectados:
    e, t, d, b = (int(d.left()), int(d.top()), int(d.right()), int(d.bottom()))
    cv2.rectangle(img, (e,t), (d, b), (0,0,255), 2)

    cv2.imshow(“Detector de relógios”, img)
    cv2.waitKey(0)

    cv2.destroyAllWindows()

     

    #39067
    Léo Silva
    Moderador

    UFPA, Boa tarde. Já faz um bom tempo que não lido com estes códigos e o meu ambiente de teste tem que ser refeito em parte para tentar reproduzir seu erro. Aparentemente o código está Ok.  Peguei o código abaixo do curso. Você pode obter este código também donde fez o download dos fontes deste curso.

    Só não tenho certeza que isso vai resolver seu problema. Quando fizemos o curso, algum tempo atrás, recordo que às vezes ocorria esse erro e era devido a algum path errado ou instalação das bibliotecas. Verifique novamente todo o ambiente.

    Tente também dar um print em algumas variáveis, por exemplo print(img.shape) ou  print(e,t,d,b) .

    Espero que tenha ajudado.

    import os
    import dlib
    import cv2
    import glob

    print(dlib.test_simple_object_detector(“recursos/teste_relogios.xml”, “recursos/detector_relogios.svm”))

    detectorRelogio = dlib.simple_object_detector(“recursos/detector_relogios.svm”)
    for imagem in glob.glob(os.path.join(“relogios_teste”, “*.jpg”)):
    img = cv2.imread(imagem)
    objetosDetectados = detectorRelogio(img)
    for d in objetosDetectados:
    e, t, d, b = (int(d.left()), int(d.top()), int(d.right()), int(d.bottom()))
    cv2.rectangle(img, (e,t), (d, b), (0,0,255), 2)

    cv2.imshow(“Detector de relógios”, img)
    cv2.waitKey(0)

    cv2.destroyAllWindows()

    #39068
    Léo Silva
    Moderador

    Em tempo, quando é submetido este formulário, a identação do código fonte se perde. Obtenha o fonte do local onde você fez download dos fontes do curso.

    #39070
    Léo Silva
    Moderador

    UFPA, Boa noite. Como nao consegui restaurar meu ambiente de teste deste curso de forma correta e rapida, passei para o Colab e fiz um pequeno teste, que se encontra no link abaixo no Dropbox. Provavelmente seu erro deve ser de path. Verifique o fonte no link abaixo.

    Desculpe por nao ser um codigo elegante, pois foi um teste bem rapido.

    https://www.dropbox.com/s/fvpsbkjgu88ri0f/deteccao_relogio_teste_colab.py?dl=0

    Por via das duvidas, segue abaixo o mesmo codigo mas nao identado

    <hr />

    import os
    import dlib
    import cv2
    import glob
    from google.colab.patches import cv2_imshow # cv2.imshow() no Colab

    ROOT_DIR = r”/content/Curso Dlib-Udemy/” # coloque seu diretorio raiz aqui…

    print(dlib.test_simple_object_detector(ROOT_DIR + “recursos/teste_relogios.xml”, ROOT_DIR + “recursos/detector_relogios.svm”))

    detectorRelogio = dlib.simple_object_detector(ROOT_DIR + “recursos/detector_relogios.svm”)
    for imagem in glob.glob(os.path.join(ROOT_DIR + “relogios_teste”, “*.jpg”)):
    print(imagem)
    img = cv2.imread(imagem)
    objetosDetectados = detectorRelogio(img)
    for d in objetosDetectados:
    e, t, d, b = (int(d.left()), int(d.top()), int(d.right()), int(d.bottom()))
    print(e,t,d,b)
    cv2.rectangle(img, (e,t), (d, b), (0,0,255), 2)

    cv2_imshow(img)
    cv2.waitKey(0)

    cv2.destroyAllWindows()

     

Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Você deve fazer login para responder a este tópico.