- Module : Vision par Ordinateur en Milieu Industriel
- Étudiant : Ahmed Chmourk (SDBDIA2)
- Professeur Référent : Pr. Brahim El Khalil Chaouki
- Rapport de Projet PDF : 📄 Télécharger le Rapport PDF
Ce projet est une application de supervision innovante en temps réel mariant le traitement d'images OpenCV et la simulation de physique particulaire (P5.js).
Le système permet de rechercher ou de charger n'importe quelle image à partir du web, d'appliquer séquentiellement un pipeline complet de prétraitement et de filtrage (Grayscale, Flou Gaussien, Binarisation adaptative locale, Détection de Canny et Transformée de Hough), puis d'échantillonner 6000 particules cinétiques autonomes qui viennent s'agglomérer en temps réel pour former la silhouette ou les primitives géométriques extraites !
- Backend : Fast API (Python), OpenCV (
cv2), NumPy, Uvicorn, Requests - Frontend : React (Vite), P5.js (Rendu cinétique interactif à 60 FPS), Craig Reynolds Steering Forces (Comportement d'arrivée particulaire), CSS Glassmorphism
Pour illustrer notre workflow mathématique et algorithmique, nous étudions la structure métallique de la Tour Eiffel. Sa complexité géométrique démontre parfaitement la robustesse de notre pipeline OpenCV.
Acquisition de l'image de la Tour Eiffel convertie dans l'espace colorimétrique BGR d'OpenCV.
-
Niveaux de Gris : Élimine l'information de couleur inutile pour ne conserver que la luminance
$\text{Gray} = 0.299 \cdot R + 0.587 \cdot G + 0.114 \cdot B$ . -
Flou Gaussien : Convolution avec un noyau de taille
$3 \times 3$ ($\sigma = 1$ ) pour filtrer le bruit haute fréquence du ciel et les pixels isolés.
Calcul d'un seuil local adaptatif gaussien pour s'affranchir des variations d'éclairage réelles et des ombres du ciel :
Extraction du squelette de contours fins de la Tour Eiffel par suppression des non-maxima et seuillage hystérétique (Seuils : 50 et 150).
Extraction des droites et des poutres métalliques principales de soutien de la Tour Eiffel en vert à l'aide de la Transformée de Hough Cumulative Probabiliste.
Assurez-vous d'avoir installé Python 3.8+ et Node.js 16+ sur votre machine.
- Ouvrez un terminal dans le dossier
backend:cd backend - Installez les dépendances :
pip install -r requirements.txt
- Créez un fichier
.envsi nécessaire pour vos clés de recherche Google, ou laissez-le vide pour utiliser la recherche Wikipédia intégrée par défaut. - Lancez le serveur :
python -m uvicorn main:app --reload --port 8000
Le backend sera accessible sur http://localhost:8000.
- Ouvrez un terminal dans le dossier
frontend:cd frontend - Installez les packages Node :
npm install
- Lancez le serveur de développement :
npm run dev
Le frontend s'ouvrira automatiquement sur http://localhost:5173.
Cliquez sur le bouton ⚙️ à gauche de la barre de recherche pour ouvrir le panneau de configuration en temps réel des algorithmes OpenCV !




