Skip to content

fazategarb/kmeans-segmentation-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

KMEANS-SEGMENTATION-PYTHON

Implementasi segmentasi citra menggunakan Python dan OpenCV dengan metode:

  • Thresholding Otsu
  • K-Means Clustering
  • Gaussian Smoothing
  • Canny Edge Detection
  • Contour Detection
  • Object Counting

Project ini dibuat sebagai tugas praktikum pengolahan citra digital menggunakan Jupyter Notebook.


📌 Features

✅ Image Preprocessing
✅ Gaussian Blur / Noise Reduction
✅ Otsu Thresholding
✅ K-Means Image Segmentation
✅ Edge Detection using Canny
✅ Contour Detection
✅ Object / Coin Counting
✅ Visualization with Matplotlib


🛠️ Technologies Used

  • Python 3
  • OpenCV
  • NumPy
  • Matplotlib
  • Jupyter Notebook

📂 Project Structure

KMEANS-SEGMENTATION-PYTHON/
├── .venv/                                    # Virtual environment Python
├── dataset/                                  # Dataset gambar
├── .gitignore
├── FazaTegarBalintra_G.231.23.0142_Praktikum4.ipynb
├── README.md
└── requirements.txt

▶️ Installation

1. Clone Repository

git clone https://github.com/username/KMEANS-SEGMENTATION-PYTHON.git
cd KMEANS-SEGMENTATION-PYTHON

2. Create Virtual Environment (Optional)

python -m venv .venv

3. Activate Virtual Environment

Windows

.venv\Scripts\activate

Linux / MacOS

source .venv/bin/activate

4. Install Dependencies

pip install -r requirements.txt

▶️ Run Project

Jalankan Jupyter Notebook:

jupyter notebook

Buka file:

FazaTegarBalintra_G.231.23.0142_Praktikum4.ipynb

📖 Learning Materials

1. Thresholding Otsu

Metode segmentasi otomatis berdasarkan distribusi intensitas piksel.

2. K-Means Clustering

Mengelompokkan warna piksel menjadi beberapa cluster untuk segmentasi citra.

3. Gaussian Smoothing

Mengurangi noise sebelum proses segmentasi dilakukan.

4. Canny Edge Detection

Mendeteksi tepi objek pada citra.

5. Contour Detection

Digunakan untuk mendeteksi bentuk dan area objek.

6. Object Counting

Menghitung jumlah objek berdasarkan contour yang ditemukan.


🔄 Segmentation Workflow

Load Image
   ↓
Convert to Grayscale
   ↓
Gaussian Blur
   ↓
Thresholding / Segmentation
   ↓
Edge Detection
   ↓
Contour Detection
   ↓
Object Counting

📊 Output Result

Project menghasilkan:

  • Grayscale Image
  • Blurred Image
  • Thresholded Image
  • K-Means Segmentation Result
  • Edge Detection Result
  • Contour Visualization
  • Object Counting Result

🎯 Learning Objectives

Melalui project ini, mahasiswa dapat memahami:

  • Dasar pengolahan citra digital
  • Teknik preprocessing gambar
  • Segmentasi citra menggunakan OpenCV
  • Deteksi objek dan contour
  • Implementasi clustering pada citra digital

👨‍💻 Author

Faza Tegar Balintra
NIM: G.231.23.0142


📄 License

Project ini digunakan untuk keperluan pembelajaran dan praktikum.

About

Implementasi segmentasi citra menggunakan Python dan OpenCV

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors