Zig e NumPy para ciência de dados em Python 12/13 - parte 5

Поділитися
Вставка
  • Опубліковано 11 вер 2024
  • Uma velocidade nunca vista antes - #NumPy + #zig
    GitHub: github.com/han...

КОМЕНТАРІ • 16

  • @rodrigopim7693
    @rodrigopim7693 20 днів тому +3

    import ctypes "que abrirá a porta do inferno...do baixo nível " kkkkkkkkkkkkkkkkkkk

    • @pyajudeme9245
      @pyajudeme9245  20 днів тому +2

      É como o Vecna em stranger things rsrs

  • @RiskyDG-o5o
    @RiskyDG-o5o 19 днів тому +1

    Vou maratonar seu canal, quero aprender a fazer bots para Android, você tem algum curso ou mentoria? Obrigado por todo conhecimento

  • @andremorinigo433
    @andremorinigo433 20 днів тому +1

    caramba estamos conectados mesmo eim , lembrei de voce nesse segundo

    • @pyajudeme9245
      @pyajudeme9245  20 днів тому

      rsrs Como estão indo os estudos?

    • @andremorinigo433
      @andremorinigo433 20 днів тому

      @@pyajudeme9245 lento , voce da aula particulares de python ?

  • @andremorinigo433
    @andremorinigo433 20 днів тому +1

    estou com uma ideia gostaria de colocar em pratica porem ela nao funcionou bem , ela se resume a jogar um jogo apenas com webcam, o jogo é fortnite e o codigo seria esse aqui : import cv2
    import mediapipe as mp
    import pyautogui
    # Função para suavizar a distância
    def smooth_distance(current, previous):
    if previous is None:
    return current
    return 0.7 * previous + 0.3 * current
    # Inicializar MediaPipe e suas soluções para detecção de mãos
    mp_hands = mp.solutions.hands
    mp_drawing = mp.solutions.drawing_utils
    # Configuração de captura de vídeo
    cap = cv2.VideoCapture(0)
    # Definir os parâmetros para detecção de mãos
    with mp_hands.Hands(max_num_hands=1, min_detection_confidence=0.8, min_tracking_confidence=0.8) as hands:
    while True:
    ret, frame = cap.read()
    if not ret:
    break
    # Converter o quadro de BGR para RGB
    frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
    results = hands.process(frame_rgb)
    if results.multi_hand_landmarks:
    for hand_landmarks in results.multi_hand_landmarks:
    # Desenhar os pontos e as conexões da mão detectada
    mp_drawing.draw_landmarks(frame, hand_landmarks, mp_hands.HAND_CONNECTIONS)
    # Coordenadas dos pontos principais
    index_finger_tip = hand_landmarks.landmark[mp_hands.HandLandmark.INDEX_FINGER_TIP]
    middle_finger_tip = hand_landmarks.landmark[mp_hands.HandLandmark.MIDDLE_FINGER_TIP]
    ring_finger_tip = hand_landmarks.landmark[mp_hands.HandLandmark.RING_FINGER_TIP]
    pinky_tip = hand_landmarks.landmark[mp_hands.HandLandmark.PINKY_TIP]
    thumb_tip = hand_landmarks.landmark[mp_hands.HandLandmark.THUMB_TIP]
    # Converter coordenadas normalizadas para pixel
    h, w, _ = frame.shape
    index_finger_tip_pos = (int(index_finger_tip.x * w), int(index_finger_tip.y * h))
    thumb_tip_pos = (int(thumb_tip.x * w), int(thumb_tip.y * h))
    middle_finger_tip_pos = (int(middle_finger_tip.x * w), int(middle_finger_tip.y * h))
    ring_finger_tip_pos = (int(ring_finger_tip.x * w), int(ring_finger_tip.y * h))
    pinky_tip_pos = (int(pinky_tip.x * w), int(pinky_tip.y * h))
    # Calcular distâncias entre os dedos
    dist_index_thumb = ((index_finger_tip_pos[0] - thumb_tip_pos[0]) ** 2 +
    (index_finger_tip_pos[1] - thumb_tip_pos[1]) ** 2) ** 0.5
    # Suavizar as distâncias (não usado diretamente para o controle, mas pode ser útil para estabilidade)
    dist_index_thumb = smooth_distance(dist_index_thumb, dist_index_thumb)
    # Verificar o gesto para a tecla W
    if index_finger_tip.y < 0.4:
    pyautogui.press('w')
    cv2.putText(frame, "Move Forward (W)", (50, 100), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2, cv2.LINE_AA)
    # Verificar o gesto para a tecla S (símbolo de joia)
    if (middle_finger_tip.y < 0.5 and
    ring_finger_tip.y < 0.5 and
    pinky_tip.y < 0.5):
    pyautogui.press('s')
    cv2.putText(frame, "Move Backward (S)", (50, 150), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2, cv2.LINE_AA)
    # Verificar o gesto para a tecla A (dedo anelar estendido)
    if middle_finger_tip.y > 0.6 and ring_finger_tip.y > 0.6 and pinky_tip.y > 0.6:
    pyautogui.press('a')
    cv2.putText(frame, "Move Left (A)", (50, 200), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2, cv2.LINE_AA)
    # Verificar o gesto para a tecla D (quatro dedos escondendo o polegar)
    if thumb_tip.y > 0.6:
    pyautogui.press('d')
    cv2.putText(frame, "Move Right (D)", (50, 250), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2, cv2.LINE_AA)
    # Verificar o gesto para o espaço (mão fechada)
    if (index_finger_tip.y > 0.7 and
    middle_finger_tip.y > 0.7 and
    ring_finger_tip.y > 0.7 and
    pinky_tip.y > 0.7 and
    thumb_tip.y > 0.7):
    pyautogui.press('space')
    cv2.putText(frame, "Jump (Space)", (50, 300), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 255), 2, cv2.LINE_AA)
    # Verificar o gesto para controle do mouse (símbolo da amizade)
    if (index_finger_tip.y < 0.5 and
    middle_finger_tip.y < 0.5 and
    ring_finger_tip.y < 0.5 and
    pinky_tip.y < 0.5 and
    thumb_tip.y > 0.5):
    if pinky_tip.y < 0.5:
    pyautogui.click() # Clique esquerdo
    cv2.putText(frame, "Left Click", (50, 350), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2, cv2.LINE_AA)
    if thumb_tip.y < 0.5:
    pyautogui.rightClick() # Clique direito
    cv2.putText(frame, "Right Click", (50, 400), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2, cv2.LINE_AA)
    # Exibir a imagem com as anotações
    cv2.imshow('Gesture Control', frame)
    # Encerrar o loop se a tecla 'q' for pressionada
    if cv2.waitKey(1) & 0xFF == ord('q'):
    break
    # Liberar os recursos
    cap.release()
    cv2.destroyAllWindows()

    • @pyajudeme9245
      @pyajudeme9245  20 днів тому

      Qual problema deu?

    • @andremorinigo433
      @andremorinigo433 20 днів тому

      @@pyajudeme9245 algumas teclas nao funcionam direito , funciona apenas o space

  • @dsbo1507
    @dsbo1507 19 днів тому +1

    É muito caro eu pedir sua ajuda para terminar de configurar um código para um bot de um jogo? Como posso entrar em contato?

    • @pyajudeme9245
      @pyajudeme9245  18 днів тому

      Qual jogo? Tem contato no perfil

    • @dsbo1507
      @dsbo1507 17 днів тому

      @@pyajudeme9245 Enviei um e-mail a vc.

  • @henriquealves2903
    @henriquealves2903 20 днів тому +1

    Obrigado sensei. O que veio primeiro numpy ou python kkk

    • @pyajudeme9245
      @pyajudeme9245  20 днів тому

      Ambos! rs Instalei NumPy e Pandas, felizmente, por coincidência, no meu primeiro dia de Python rs

    • @pyajudeme9245
      @pyajudeme9245  19 днів тому +1

      Lendo de novo, saquei rsrs Galinha e ovo, 01010101 -> Assembly -> C -> Py -> Numpy