Il y a quelques années, alors que je débutais en Python, ce projet de détection des mains et du visage m’a donné du fil à retordre !
En 2021, sans ChatGPT ni grande expérience en python, chaque bug était une énigme à résoudre. Mais c’est précisément ce qui m’a motivé : comprendre, expérimenter et finalement créer un système fonctionnel. Je suis tombé sur des vidéos youtube qui en parlaient. J’ai commencé à explorer.
Aujourd’hui, grâce à OpenCV, MediaPipe et cvzone, ce projet permet de détecter et suivre les articulations des mains en temps réel.
Tout a commencé avec mon envie d’explorer la vision par ordinateur. Détecter les mains ouvre des portes incroyables, comme le contrôle gestuel, la communication sans contact, et même des interactions pour les jeux vidéo.
Voici une vidéo du résultat sur ma chaine YouTube…
Avec quelques lignes de code, une webcam et des bibliothèques bien pensées, j’ai réussi à capturer, analyser et visualiser les mouvements des mains en direct !
C’est un projet idéal pour les débutants en IA avec du code simple et bien documenté, surtout avec des applications concrètes ( réalité augmentée, contrôle gestuel, analyse biométrique…).
Je vais vous montrer comment le tester chez vous.
Installation en 3 étapes
1 – Clonez mon dépôt GitHub
J’ai récemment ajouté ce projet sur mon github, donc vous pouvez le récupérer via ce lien :
git clone https://github.com/mouslimdiallo/PoseDetection.git
Ensuite…
2 – Créez un environnement virtuel (recommandé)
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
3 – Installez les dépendances
pip install opencv-python cvzone mediapipe
(Un requirements.txt
est aussi disponible si besoin.)
Explication du code : Comment ça marche ?
Les lignes de code sont suivies de commentaire pour une meilleure élucidation.
import cv2
from cvzone.HandTrackingModule import HandDetector
# Initialisation
detector = HandDetector(detectionCon=0.8, maxHands=2)
cap = cv2.VideoCapture(0) # Accès à la webcam
while True:
success, img = cap.read()
hands, img = detector.findHands(img)
# Détection des mains
if hands:
for hand in hands:
lmList = hand['lmList'] # Points clés (21 par main)
bbox = hand['bbox'] # Zone de détection
handType = hand['type'] # Gauche ou droite
print(f"Main {handType} détectée !")
cv2.imshow("Hand Detection", img)
if cv2.waitKey(10) & 0xFF == ord('q'): # Quitter avec 'Q'
break
cap.release()
cv2.destroyAllWindows()
Fonctionnalités clés
Nous avons :
- La détection rapide via webcam (même sur un ordinateur moyen).
- L’affichage des landmarks (points articulaires).
- La prise en charge des deux mains.
(Essayez-le, c’est bluffant !)
Structure du projet
PoseDetection/ │── test.py # Script principal │── Pose2-Couverture.jpg # Visuel de démo │── requirements.txt # Dépendances Python │── README.md # Guide complet
Démonstration en image

Contribuez au projet !
Ce projet est open-source – vos idées sont les bienvenues !
– Forkez le dépôt
– Proposez des optimisations
– Créez de nouvelles fonctionnalités
*Lien GitHub : github.com/mouslimdiallo/PoseDetection