Setelah selesai mempelajari materi, mahasiswa diharapkan mampu melakukan konvolusi menggunakan pustaka Python 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.