Erro ao detectar mãos para cima

Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #22192
    LpCoutinho
    Participante

      Ao rodar o código aparece o erro exibido mais a frente.

      Não consegui encontrar um link para visualizar os códigos no Google colab, fiz tudo a mão. Caso esse link esteja disponível por favor me envie para que possa comparar com as linhas que escrevi.

      Imaginei que o erro estaria no módulo e tentei modifica-lo sem sucesso alterando os parâmetros do punho direito que estão faltando e em desacordo com o padrão.

       

      O erro :

      ---------------------------------------------------------------------------
      TypeError Traceback (most recent call last)
      <ipython-input-16-a4bde24a5d56> in <module>
      67 
      68 # BRAÇOS
      ---> 69 if extrator_CORPO.verificar_bracos_ABAIXO(pontos[0:8]) == True: # [0:8] é a parte superior superior do corpo
      70 # 25% do movimento concluido
      71 valida_bracos_abaixo = 0.25
      
      ~\Desktop\VISÃO COMPUTACIONAL\Reconhecimento de Gestos e Ações com Python e OpenCV\modulos\extrator_CORPO.py in verificar_bracos_ABAIXO(pontos)
      83 # PUNHO DIREITO
      84 if indx == 4:
      ---> 85 punhoDireito_V = p[1]
      86 
      87 # OMBRO ESQUERDO
      
      TypeError: 'NoneType' object is not subscriptable
      #22193
      LpCoutinho
      Participante

        Tudo funciona perfeitamente, apenas quando chega no frame onde a pessoa levanta os pulsos que trava com o erro acima.

         

        Pode me ajudar?

        #22194
        Dalton Vargas
        Moderador

          Olá LpCoutinho!

          Este erro ocorre quando tentamos comparar um valor com nenhum valor (None).

          Para corrigir, ao invés de adicionar None na lista de pontos quando o ponto chave detectado não corresponde ao valor mínimo de confiança, pode substituir por (0,0) , ou seja, passamos o valor da posição do ponto sendo em 0 (zero) na horizontal e 0(zero) na vertical.

          Segue abaixo o ajuste:

          Na linha onde adicionamos os pontos chave a lista de pontos, na condição  else mudar para:

          else:
              pontos.append((0, 0)) 
          
          '''Depois de ajustado, fica assim:'''
          

          Despois de ajustado, fica assim:

          Fatos interessantes

          None não é o mesmo que False.

          None não é 0(zero).

          None não está vazio string.

          Comparando None com qualquer coisa sempre retornará False, exceto quando comparamos None a ele mesmo.

           

          Ah, também segue o link de acesso ao Colab: https://colab.research.google.com/drive/1Zsi5-8TQsNjm5hKAWBFyabTZ8yWYkCrS#scrollTo=SLAptHZtSeYA

           

          Espero ter ajudado, permaneço a disposição!

          • Esta resposta foi modificada 3 anos, 5 meses atrás por Dalton Vargas.
          • Esta resposta foi modificada 3 anos, 5 meses atrás por Dalton Vargas.
        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.