Tujuan Pembelajaran

Setelah selesai mempelajari materi, mahasiswa diharapkan mampu melakukan konvolusi menggunakan pustaka Python scikit-image.

Konvolusi dengan Scikit-Image

scikit-image menggunakan fungsi convolve() dari modul skimage.filters atau scipy.ndimage. Fungsi ini digunakan untuk menerapkan filter berbasis kernel ke citra, baik dalam konteks pemrosesan dasar seperti smoothing, sharpening, maupun dalam aplikasi lanjutan seperti deteksi tepi, ekstraksi fitur, dan segmentasi.

# Baca gambar dan ubah ke grayscale
img = color.rgb2gray(io.imread('image.jpg'))

# Kernel deteksi tepi (Sobel vertikal)
kernel = np.array([[1, 0, -1], [2, 0, -2], [1, 0, -1]])

# Padding otomatis 'reflect'
result = filters.convolve(img, kernel, mode='reflect')


Selain convolve(), scikit-image juga menyediakan util.conv2() yang lebih khusus digunakan untuk operasi konvolusi dua dimensi dengan kemampuan untuk menentukan mode padding secara eksplisit. Dengan util.conv2(), kita bisa memilih berbagai mode padding seperti 'reflect', 'constant', atau 'wrap' yang akan mempengaruhi bagaimana konvolusi diterapkan pada tepi gambar.

Berikut contoh penggunaannya:

# Baca gambar dan ubah ke grayscale
img = color.rgb2gray(io.imread('image.jpg'))

# Kernel deteksi tepi (Sobel vertikal)
kernel = np.array([[1, 0, -1],
[2, 0, -2],
[1, 0, -1]])

# Padding otomatis 'reflect'
result = convolve(img, kernel, mode='reflect')

# Contoh konvolusi dengan util.conv2 dan mode 'wrap'
result_wrap = util.conv2(img, kernel, mode='wrap')

Ayo Ngoding!


Petunjuk:
  • Upload File: Klik tombol Upload File untuk mengunggah gambar yang ingin Anda analisis. Anda dapat memilih file gambar dari perangkat Anda.
  • Menjalankan Proses: Setelah file diunggah, ganti path gambar pada kode dengan nama file yang diunggah. Anda dapat menjalankan proses analisis dengan menekan tombol Play yang berada di sebelah kiri cell.
  • Menambah Cell: Klik tombol + Add Cell untuk menambahkan lebih banyak ruang untuk memasukkan kode atau menjalankan perintah tambahan.
EdgeExplorer

Aktivitas 16

Kerjakan aktivitas berikut untuk menguji pemahaman dan menambah nilai progresmu!