PETUNJUK :
Kumpulkan tugas proyek Anda kepada via email dan jangan lupa berikan data diri
mahasiswa
Soal :
1. Siapkan data citra sesuai topik mini project masing-masing kemudian lakukan
pemrosesan citra dengan berbagai metode peningkatan kualitas citra (Image
Enhancement) dan segmentasi citra (Image Segmentation).
2. Hasil dari percobaan tersebut dilampirkan pada lembar jawab dan dikumpulkan
kepada pengawas ujian.
Jelaskan dengan lugas dan jelas hasil percobaan mini project masing-masing! Semua
hasil disimpan dengan format PDF
1. Data citra
a. Aqua
b. Coca-Cola
c. Fanta
d. Freshtea
FM-UAD-PBM-04-16/R1
e. Sprite
Data Citra menggunakan botol plastik dengan beberapa merek dan ukuran botol yang dipakai
adalah ukuran sedang. Citra diambil menggunakan kamera smartphone Android. Botol
plastik diatas dipilih karena memiliki bentuk yang hampir serupa. Begitu juga dengan warna
yang beberapa botol plastik hampir serupa.
Pada project kali ini proses segmentasi dilakukan dengan 3 percobaan yaitu dengan
menggunakan GracCut, Deteksi Tepi(Canny) dan Watershed.
a. Grabcut
FM-UAD-PBM-04-16/R1
- Kelebihan: Citra yang tersegmentasi hanya citra yang diinginkan (Botol Plastik)
menjadi yang paling dominan
- Kekurangan: Tidak semua citra dapat tersleksi dengan di beberapa percobaan masih
ada citra yang tidak telihat sempurna
b. Deteksi Tepi (Canny)
- Kelebihan: Sistem menyeleksi setiap objek yang terdeteksi didalam citra sehingga
membentuk objek yang diinginkan.
- Kekurangan: Objek lain masih dapat terdeteksi.
c. Watershed
- Kelebihan: Citra dirubah menjadi threshold dan memisahkan objek dengan
background.
- Kekurangan: Masih terdapat objek lain atau backgroun yang masih terthreshold
4. Coding
a. Library
import cv2
import numpy as np
from matplotlib import pyplot as plt
c. Pre-Processing
#2D Convolutional
kernel = np.ones((5,5),np.float32)/25
dst = cv2.filter2D(gambar,-1,kernel)
#Gausian Filter
gaussian = cv2.GaussianBlur(gambar,(5,5),0)
#blur
blur = cv2.blur(gambar,(5,5))
#Median Filtering
median = cv2.medianBlur(gambar,5)
#Bilateral Filtering
bilateral = cv2.bilateralFilter(gambar, 9, 75,75)
FM-UAD-PBM-04-16/R1
d. Segmentasi
e. Plotting Citra
plt.subplot(131),plt.imshow(img),plt.title("Hasil GrabCut")
plt.xticks([]), plt.yticks([])
plt.subplot(132),plt.imshow(edges),plt.title("Hasil Deteksi Tepi")
plt.xticks([]), plt.yticks([])
plt.subplot(133),plt.imshow(thresh, 'gray'),plt.title("Hasil Deteksi
Watershed")
plt.xticks([]), plt.yticks([])
plt.show()