Materi
Operasi morfologi bekerja pada citra biner dengan elemen penstruktur (structuring element): pola kecil yang menentukan tetangga mana yang dilihat. Dokumentasi SciPy mendefinisikan erosi sebagai operasi yang mengecilkan bentuk dan dilasi sebagai operasi yang membesarkannya. Pada erosi, piksel tetap True hanya bila seluruh elemen penstruktur yang diletakkan di situ jatuh di dalam objek; pada dilasi, piksel menjadi True bila elemen penstruktur yang diletakkan di situ menyentuh objek.
Bila structure tidak ditulis, binary_erosion dan binary_dilation membuat elemen dengan konektivitas satu: salib 3 × 3 (tengah dan empat tetangga tegak-mendatar). np.ones((3, 3)) memberi kotak penuh yang juga memperhitungkan tetangga diagonal.
Galeri scikit-image mendefinisikan opening sebagai erosi lalu dilasi. Erosi menghapus bintik kecil yang tidak muat elemen penstruktur; dilasi mengembalikan objek besar ke ukurannya semula. Itu sebabnya opening dipakai membersihkan derau "garam" setelah thresholding. Kebalikannya, dilasi saja menyambung celah kecil dan menebalkan garis tipis.
import numpy as np
from scipy import ndimage
garis = np.zeros((5, 5), dtype=bool)
garis[2, 1:4] = True # garis mendatar 3 piksel
print(ndimage.binary_dilation(garis).sum()) # 11: salib menambah atas, bawah, kiri, kanan
print(ndimage.binary_erosion(garis).sum()) # 0: garis setebal 1 piksel habis