Projeto em Python para detecção em tempo real de mão e pose corporal com webcam (incluindo Iriun), com foco em organização e performance.
- Detecção de mão (landmarks + conexões + bbox)
- Detecção de pose corporal (esqueleto + setas em pontos principais)
- Modos de execução:
handposeboth
- Otimização de FPS:
- processamento em resolução menor
- detecção a cada N frames
- Download automático dos modelos
.task
sensor/
├─ detectors/
│ ├─ __init__.py
│ ├─ hand_detector.py
│ └─ pose_detector.py
├─ models/
├─ camera.py
├─ config.py
├─ draw.py
├─ main.py
├─ utils.py
└─ requirements.txt
Requisitos
Python 3.11+
Windows (recomendado)
Webcam local ou Iriun Webcam
Instalação
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
Controles
q → sair
1 → modo hand
2 → modo pose
3 → modo both
Configuração (config.py)
CAMERA_INDEX: índice da câmera (0, 1, 2...)
PROCESS_WIDTH, PROCESS_HEIGHT: resolução de processamento
DETECT_EVERY_N_FRAMES: detecta 1 a cada N frames
START_MODE: hand, pose ou both
MIN_VISIBILITY: limiar para exibir landmarks de pose
Problemas comuns
1) Import "cv2"/"mediapipe" could not be resolved (VS Code)
Selecione o interpretador da .venv:
Ctrl + Shift + P → Python: Select Interpreter
escolha .venv\Scripts\python.exe
2) Erro ao abrir .task no Windows
Se o caminho tiver acentos (ex.: Área de Trabalho), use pasta sem acento para modelos, ex.:
HAND_MODEL_PATH = r"C:\mp_models\hand_landmarker.task"
POSE_MODEL_PATH = r"C:\mp_models\pose_landmarker_full.task"
3) Iriun não aparece
Abra Iriun no celular + server no PC
Feche apps que usam câmera
Teste outro CAMERA_INDEX