Skip to content

Codedchic25/Cap.-6-Computer_Vision

Repository files navigation

👁️ Advanced Computer Vision & Biometrics Portfolio

Python OpenCV Linter Environment

Un repository profesional dedicat prelucrării avansate de imagini și biometriei faciale aplicate local (non-cloud). Acest portofoliu demonstrează abilități solide de inginerie software, organizare modulară a codului conform standardului PEP 257 și management eficient al mediilor virtuale.


🚀 Tehnologii și Decizii de Arhitectură (The "Wow" Factor)

În dezvoltarea acestui portofoliu, am implementat bune practici utilizate în producție de echipele de top:

  • Astral uv Environment: Am înlocuit clasicul venv/pip cu uv (scris în Rust), reducând timpul de rezolvare a dependențelor și instalare de la minute la milisecunde.
  • Dlib Pure Implementation: Pentru a asigura portabilitatea pe sisteme Windows fără compilatoare grele de C++ (Visual Studio Build Tools), am integrat direct distribuții binare pre-compilate ale motorului Dlib, decuplând arhitectura de barierele rigide ale sistemului de operare.
  • Documentație Exhaustivă: Fiecare algoritm este încapsulat în funcții pure, cu tipizare statică (Type Hinting) și Docstrings descriptive conforme cu PEP 257.
  • Cod Calibrat Profesional cu Ruff: Toate fișierele de cod au fost scanate și verificate prin linter-ul ruff. Rezultatul verificării este impecabil: All checks passed!, garantând un stil curat, fără importuri redundante sau erori sintactice.

📁 Structura Proiectului (Tree View)

Cap. 6 Computer_Vision/
│
├── .gitignore               # Regulă strictă pentru excluderea cache-ului și a modelelor grele (.dat)
├── README.md                # Documentația principală a proiectului
├── LEARNING_WORKFLOW.md     # Harta de navigare și învățare în proiect
├── requirements.txt         # Dependențele de producție
│
├── sesiunea_28_opencv_avansat/
│   ├── imagini/             # Imagini martor (flori.jpg, text_vechi.jpg, forme.jpg)
│   ├── outputs/             # Rezultatele procesărilor vizuale
│   └── proiect_tema_s28.py  # Algoritmi de segmentare, Canny și Threshold adaptiv
│
└── sesiunea_29_dlib_facial/
    ├── imagini/             # Seturi de date pentru analiză biometrică (maria.jpg)
    ├── modele/              # Rețele neuronale pre-antrenate (68 Landmark Predictor)
    ├── outputs/             # Jurnale tabelare rezultate (coordonate CSV)
    └── proiect_tema_s29.py  # Mapare facială și extragere de trăsături

🛠️ Module Implementate & Detalii Tehnice

🎨 Sesiunea 28: OpenCV Avansat & Segmentare Matematică

  1. Izolare HSV: Segmentarea obiectelor pe baza nuanței exacte (filtrare albastră pe petale), curățată prin morfologie matematică (Eroziune/Dilatare) pentru eliminarea zgomotului „sare și piper”.
  2. Filtrare pe Arie: Calculul matematic al suprafeței contururilor externe (cv2.contourArea) și extragerea exclusivă a obiectelor cu dimensiuni macro (>500px).
  3. Adaptive Thresholding: Tehnica Gaussian locală pentru optimizarea documentelor scanate neuniform, eliminând umbrele degradate pentru sisteme OCR.
  4. Decupare ROI (Region of Interest): Combinarea algoritmului Canny cu Bounding Boxes pentru izolarea și salvarea automată a formelor geometrice în ferestre separate.

🧠 Sesiunea 29: Dlib & Localizare Facială Biometrică

  1. Face Detection: Utilizarea detectorului frontal bazat pe piramide de imagini și HOG (Histogram of Oriented Gradients).
  2. 68 Facial Landmarks: Încărcarea unui model neuronal predictiv de formă pentru a mapa cu precizie chirurgicală trăsăturile feței (ochi, nas, gură, structură osoasă).
  3. Data Export: Extragerea matricii de puncte și transpunerea ei în fișiere tabelare .csv structurate pentru analiză statistică sau antrenare de modele ML ulterioare.

📊 Rezultate Tehnice Obținute

Important

Notă privind Contextul de Execuție (Working Directory): Toate scripturile utilizează căi relative (imagini/, modele/) pentru o portabilitate maximă. Pentru ca algoritmii OpenCV și Dlib să acceseze corect resursele și să afișeze ferestrele grafice (cv2.imshow), terminalul trebuie să navigheze în interiorul folderului dedicat fiecărei sesiuni înainte de rulare. Executarea direct de la rădăcină va bloca încărcarea imaginilor din cauza discrepanței de context.

Algoritm Input Status Output Generat Utilitate în Industrie
HSV Filter (Blue) Floare cu petale degradate Mască Binară + Contur Roșu Controlul Calității în Fabrici (Robotică)
Adaptive Threshold Gradient de umbră puternic Text Binarizat Înalt-Contrast Digitizarea Arhivelor Istorice (OCR)
68 Landmarks Map Portret feminin (maria.jpg) 68 Puncte Albastre + landmarks.csv Securitate Biometrică & Analiză Facială

💻 Ghid de Rulare Locală Secvențial

Pentru a testa și verifica funcționalitatea proiectului pe stația locală de lucru cu validarea corectă a căilor, executați în terminal:

# 1. Poziționarea în rădăcină și activarea mediului virtual
cd Cap.-6-Computer_Vision
.venv\Scripts\Activate.ps1

# 2. Verificare cod cu Ruff (Stil și Calitate)
uv run ruff check .

# 3. Rularea Sesiunii 28 (OpenCV) în contextul corect de foldere
cd sesiunea_28_opencv_avansat
python proiect_tema_s28.py

# 4. Rularea Sesiunii 29 (Dlib Biometrics) în contextul corect de foldere
cd ../sesiunea_29_dlib_facial
python proiect_tema_s29.py

Portofoliu dezvoltat cu pasiune de catre Maria Gabriela Cojocaru pentru Computer Vision și Inginerie Software Clean-Code.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors