Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SEMOK (Segmentasi Motif Batik)

Proyek segmentasi citra batik menggunakan Otsu Thresholding dan Morphological Processing dengan OpenCV Python. Mendukung path Unicode penuh pada Windows.


Latar Belakang

Batik memiliki motif rumit yang menyatu dengan background kain. Untuk keperluan dokumentasi digital dan analisis lebih lanjut, motif perlu dipisahkan dari background secara otomatis. Proyek ini mengimplementasikan segmentasi citra untuk memisahkan motif batik dari background kain menggunakan kombinasi Otsu Thresholding dan morphological processing.

Baca Dokumentasi Detail


Struktur Folder

semok/
├── README.md                      ← Panduan ini
├── SEGMENTASI_BATIK.md            ← Dokumentasi detail proyek
├── requirements.txt               ← Dependencies Python
├── dataset/                       ← Folder input gambar batik
│   ├── batik_parang/
│   ├── batik_kawung/
│   └── batik_megamendung/
├── src/
│   ├── segmentasi.py              ← Script utama segmentasi (CLI)
│   └── gui.py                     ← Antarmuka grafis (GUI)
├── output/                        ← Folder hasil segmentasi
└── screenshots/                   ← Dokumentasi GUI

Cara Install & Run

1. Persyaratan

  • Python 3.8 atau lebih baru
  • pip (Python package manager)

2. Install Dependencies

pip install -r requirements.txt

3. Siapkan Dataset

Masukkan gambar batik ke folder dataset/. Format file: .jpg atau .png.

Struktur dataset bebas — semua file gambar di folder dataset/ (dan subfolder) akan diproses secara rekursif.

4. Jalankan Segmentasi

python src/segmentasi.py

Secara default, script akan:

  • Memproses semua gambar dari folder dataset/
  • Menyimpan hasil ke folder output/
  • Menampilkan visualisasi hasil segmentasi

5. Jalankan GUI (Antarmuka Grafis)

Untuk pengguna awam, jalankan versi GUI:

python src/gui.py

GUI Aplikasi

Fitur GUI:

  • Pilih gambar batik melalui dialog file
  • Lihat perbandingan citra asli dan hasil segmentasi berdampingan
  • Lihat setiap tahap pemrosesan (grayscale, CLAHE, biner, morfologi, masking, overlay)
  • Baca penjelasan setiap tahap dalam bahasa Indonesia
  • Simpan hasil ke folder pilihan
  • Scroll penuh pada seluruh konten window
  • Dukungan path berisi Unicode (karakter Jepang, Cina, dll)

6. Lihat Hasil (CLI)

Hasil segmentasi akan tersimpan di folder output/:

  • [nama]_gray.png — Grayscale
  • [nama]_clahe.png — CLAHE contrast enhancement
  • [nama]_binary.png — Otsu thresholding mentah
  • [nama]_cleaned.png — Setelah morphological + filter komponen
  • [nama]_masked.png — Motif yang sudah ter-crop dari background
  • [nama]_overlay.png — Overlay bounding box pada citra asli

Alur Kerja

Citra Batik → Grayscale → CLAHE → Otsu Thresholding
    → Auto-Invert → Morphological Opening
    → Filter Komponen → Motif Tersegmentasi

Contoh Hasil

Berikut contoh hasil segmentasi pada beberapa motif batik dari dataset:

Motif Citra Asli Motif Ter-crop Overlay
Parang parang original parang masked parang overlay
Kawung kawung original kawung masked kawung overlay
Mega Mendung Mega Mendung original Mega Mendung masked Mega Mendung overlay
Ceplok ceplok original ceplok masked ceplok overlay

Tahapan pemrosesan pada satu contoh (Parang)

Grayscale CLAHE Biner (Otsu) Setelah Morfologi Motif Ter-crop Overlay
gray clahe binary cleaned masked overlay

Dependencies

Package Versi Fungsi
opencv-python ≥4.8.0 Operasi citra digital
numpy ≥1.24.0 Manipulasi array/matriks
Pillow ≥9.0.0 Tampilan gambar di GUI

License

Project ini dibuat untuk tujuan akademis.

brom016-2026

About

SEMOK (Segmentasi Motif Batik) aplikasi pengolahan citra digital untuk memisahkan motif batik dari latar kain secara otomatis. Menggunakan Otsu Thresholding, CLAHE, dan morfologi, hasilnya adalah motif yang sudah terpisah siap untuk dokumentasi dan pelestarian budaya. Tersedia CLI dan GUI untuk pengguna yang awam.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages