import cv2
import numpy as np
kernel = np.ones((3,3),dtype=np.uint8) #1로 이루어진 3,3행렬 생성
img = cv2.imread('dilate.png', cv2.IMREAD_GRAYSCALE)
dilate1 = cv2.dilate(img, kernel, iterations=1) #iterations : 반복횟수 많이 할 수 록 많은 작업을 함
dilate2 = cv2.dilate(img, kernel, iterations=2)
dilate3 = cv2.dilate(img, kernel, iterations=10)
cv2.imshow('gray',img)
cv2.imshow('dilate1',dilate1)
cv2.imshow('dilate2',dilate2)
cv2.imshow('dilate3',dilate3)
cv2.waitKey(0)
cv2.destroyAllWindows()
import cv2
import numpy as np
kernel = np.ones((3,3),dtype=np.uint8)
img = cv2.imread('erode.png',cv2.IMREAD_GRAYSCALE)
erode1 = cv2.erode(img, kernel, iterations=1)
erode2 = cv2.erode(img, kernel, iterations=2)
erode3 = cv2.erode(img, kernel, iterations=3)
cv2.imshow('gray',img)
cv2.imshow('erode1',erode1)
cv2.imshow('erode2',erode2)
cv2.imshow('erode3',erode3)
cv2.waitKey(0)
cv2.destroyAllWindows()
비교 및 결과
쉽게 말해서
import cv2
import numpy as np
img = cv2.imread('erode1.png',cv2.IMREAD_GRAYSCALE)
kernel = np.ones((3,3),dtype=np.uint8)
erode = cv2.erode(img, kernel,iterations=3)
dilate = cv2.dilate(erode, kernel, iterations=3)
cv2.imshow('gray',img)
cv2.imshow('erode',erode)
cv2.imshow('dilate',dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()
import cv2
import numpy as np
img = cv2.imread('dilate1.png',cv2.IMREAD_GRAYSCALE)
kernel = np.ones((3,3),dtype=np.uint8)
dilate = cv2.dilate(img, kernel, iterations=8)
erode = cv2.erode(dilate, kernel,iterations=1)
erode2 = cv2.erode(dilate, kernel,iterations=8)
cv2.imshow('gray',img)
cv2.imshow('dilate',dilate)
cv2.imshow('erode',erode)
cv2.imshow('erode2',erode2)
cv2.waitKey(0)
cv2.destroyAllWindows()