SUBBAB 7: Implementasi Python
Setelah selesai mempelajari materi, mahasiswa diharapkan mampu melakukan pendeteksian tepi operator Kompas menggunakan pustaka Python scikit-image.
Scikit-image tidak menyediakan fungsi khusus atau implementasi eksplisit untuk operator
kompas (seperti Kirsch, Robinson, atau operator delapan arah lainnya), maka pendekatan alternatif yang
dapat digunakan adalah dengan memanfaatkan fungsi scipy.ndimage.convolve dari library
SciPy. Fungsi ini
memungkinkan pengguna untuk melakukan konvolusi antara citra dan kernel yang didefinisikan secara
manual, sehingga sangat cocok untuk mengimplementasikan operator kompas yang terdiri dari beberapa
kernel arah (misalnya utara, selatan, timur, barat, dan arah diagonal).
image = color.rgb2gray(io.imread('gambar.jpg'))
kirsch_kernels = [
np.array([[5, 5, 5], [-3, 0, -3], [-3, -3, -3]]),
np.array([[5, 5, -3], [5, 0, -3], [-3, -3, -3]]),
np.array([[5, -3, -3], [5, 0, -3], [5, -3, -3]]),
np.array([[-3, -3, -3], [5, 0, -3], [5, 5, -3]]),
np.array([[-3, -3, -3], [-3, 0, -3], [5, 5, 5]]),
np.array([[-3, -3, -3], [-3, 0, 5], [-3, 5, 5]]),
np.array([[-3, -3, 5], [-3, 0, 5], [-3, -3, 5]]),
np.array([[-3, 5, 5], [-3, 0, 5], [-3, -3, -3]])
]
responses = [convolve(image, k) for k in kirsch_kernels]
edge_kirsch = np.max(responses, axis=0)
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.