Dilation dan Erosion

Dilation dan erosion adalah operasi matematik morfologi.

  • Dilation: operasi menambahkan pixels pada batas dari sebuah object dalam image.
  • Erosion: operasi menghilangkan pixels pada batas dari sebuah object dalam image.
  • Opening: proses Erosion yang diikuti oleh dilation.
  • Closing: proses dilation yang diikuti oleh erosion.

Untuk jelas lihat gambar berikut. Gambar original adalah yang pertama. Warna biru menunjukan pixel yang ditambahkan, sementara warna merah menunjukan pixel yang hilang.

image courtesy of www.researchgate.net

Berikut contoh code untuk keempat proses diatas

import cv2
import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline

img = cv2.imread('opencv.png')

kernel = np.ones((5,5), np.uint8)

dilation = cv2.dilate(img, kernel, iterations=1)
erosion = cv2.erode(img, kernel, iterations=1)
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)

fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(14,7))

ax1.set_title('dilation')
ax1.imshow(dilation)
ax2.set_title('erosion')
ax2.imshow(erosion)
ax3.set_title('opening')
ax3.imshow(erosion)
ax4.set_title('closing')
ax4.imshow(dilation)

Untuk image download di https://drive.google.com/file/d/149cp6Zfu–fazDiVNo9P_MxrUcYXr6P_/view?usp=sharing

Untuk file google colab silakan buka di https://colab.research.google.com/drive/1nzdLL_e0rvCZ2NS_D1f0IqaceS1vXvdj?usp=sharing

Sharing is caring:

Leave a Comment