CoolFace
Apppublic

stefanycrista/projek-computer-vision

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
App README

Projek Computer Vision - Analisis & Klasifikasi Ketebalan Tinta Tulisan Tangan

Aplikasi web berbasis Flask dan Computer Vision (OpenCV) untuk melakukan analisis citra tulisan tangan, ekstraksi fitur ketebalan stroke (Distance Transform), analisis kepadatan piksel, dan klasifikasi jenis tinta (Bold/Tebal vs Normal/Tipis).

Proyek ini dibuat sebagai syarat pemenuhan Final Proyek Semester (Pertemuan 15).


๐Ÿš€ Fitur Utama

  • โ€”Pre-processing Citra: Normalisasi background, adaptive thresholding, pembersihan garis horizontal, dan pembersihan noise (Connected Components).
  • โ€”Ekstraksi Fitur Fisik:
  • โ€”Ketebalan stroke asli (rata-rata, minimal, maksimal) menggunakan L2 Distance Transform.
  • โ€”Kepadatan piksel (pixel density).
  • โ€”Visualisasi Citra:
  • โ€”Citra hasil pre-processing 128x128.
  • โ€”Heatmap Distance Transform untuk melihat sebaran ketebalan stroke secara visual.
  • โ€”Klasifikasi Otomatis: Menentukan kategori pena (Spidol/Gel vs Ballpoint/Pensil) beserta tingkat keyakinan (confidence score).

๐Ÿ› ๏ธ Teknologi & Library

  • โ€”Python 3
  • โ€”Flask (Framework Web Backend)
  • โ€”OpenCV (`opencv-python-headless`) (Pengolahan Citra Digital)
  • โ€”NumPy & scikit-image (Ekstraksi & Manipulasi Data Matrix)
  • โ€”Gunicorn (WSGI Server untuk Production)
  • โ€”HTML5 & CSS3 (Frontend UI)

๐Ÿ“‚ Struktur Direktori

text
โ”œโ”€โ”€ app.py                      # Server Flask utama & Logika Pengolahan Citra
โ”œโ”€โ”€ Procfile                    # Konfigurasi Gunicorn untuk Cloud Deployment
โ”œโ”€โ”€ requirements.txt            # Daftar dependensi Python
โ”œโ”€โ”€ .gitignore                  # Berkas pengecualian Git
โ”œโ”€โ”€ templates/
โ”‚   โ””โ”€โ”€ index.html              # Tampilan Antarmuka Web
โ”œโ”€โ”€ model_handwriting_cv.pkl    # Model Machine Learning Trained
โ”œโ”€โ”€ scaler_handwriting_cv.pkl   # Scaler Fitur
โ””โ”€โ”€ mapping_handwriting_cv.pkl  # Mapping Label Class

๐Ÿ”ง Cara Menjalankan Secara Lokal

  1. 1.Clone repository ini:
bash
   git clone https://github.com/stefanycrista/projek-computer-vision.git
   cd projek-computer-vision
  1. 1.Install dependensi:
bash
   pip install -r requirements.txt
  1. 1.Jalankan server Flask:
bash
   python app.py
  1. 1.Buka browser dan akses http://localhost:5000.