영상처리 Chap06_형태학적 영상처리(morphology; 모폴로지)
- 침식(erosion) vs 팽창(dilation)
123456789101112131415161718192021from PIL import Imageimport matplotlib.pyplot as pltimport numpy as npfrom skimage.morphology import binary_erosion, binary_dilation, binary_opening, binary_closing, rectangle, diskim = Image.open('./images/circles.jpg')im = im.convert('L')im = np.array(im).astype('float')im2 = np.array(im.copy()).astype('float')im3 = np.array(im.copy()).astype('float')im2 = binary_erosion(im2, disk(3))im3 = binary_dilation(im3, disk(2))#im2 = binary_erosion(im2, rectangle(10,10))plt.figure(figsize=(12,5))plt.subplot(1,3,1), plt.axis('off'), plt.imshow(im, cmap='gray')plt.subplot(1,3,2), plt.axis('off'), plt.imshow(im2, cmap='gray')plt.subplot(1,3,3), plt.axis('off'), plt.imshow(im3, cmap='gray')plt.show()
- 열림(openning) vs 닫힘(closing)
12345678910111213141516171819from PIL import Imageimport matplotlib.pyplot as pltimport numpy as npfrom skimage.morphology import binary_erosion, binary_dilation, binary_opening, binary_closing, rectangle, diskim = Image.open('./images/circles.jpg')im = im.convert('L')im = np.array(im).astype('float')im2 = np.array(im.copy()).astype('float')im3 = np.array(im.copy()).astype('float')im2 = binary_opening(im2, disk(3))im3 = binary_closing(im3, disk(1))plt.figure(figsize=(12,5))plt.subplot(1,3,1), plt.axis('off'), plt.imshow(im, cmap='gray')plt.subplot(1,3,2), plt.axis('off'), plt.imshow(im2, cmap='gray')plt.subplot(1,3,3), plt.axis('off'), plt.imshow(im3, cmap='gray')plt.show()