즐거운프로그래밍

[딥러닝] 필터 역할 살펴보기(부드러운 이미지 추출하기)

수수께끼 고양이 2023. 10. 31. 17:07
728x90
반응형

 

1.

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

image_color=cv2.imread('../images/cat.jpg')
print('image_color.shape =',image_color.shape)
image=cv2.cvtColor(image_color,cv2.COLOR_BGR2GRAY)
print('image.shape =',image.shape)

filter=np.array([
    [1,1,1],
    [1,1,1],
    [1,1,1]
])/9

image_pad=np.pad(image,((1,1),(1,1)))
print('image_pad.shape =', image_pad.shape)

convolution=np.zeros_like(image)

for row in range(image.shape[0]):
    for col in range(image.shape[1]):
        window=image_pad[row:row+3, col:col+3]
        convolution[row,col]=np.clip(np.sum(window*filter),0,255)
        
image=[image, convolution]
label=['gray','convolution']

plt.figure(figsize=(10,5))
for i in range(len(image)):
    plt.subplot(1,2,i+1)
    plt.xticks([])
    plt.yticks([])
    plt.imshow(image[i],cmap=plt.cm.gray)
    plt.xlabel(label[i])
plt.show()

 

image_color=cv2.imread('../images/cat.jpg')

** 이미지 파일 경로 확인 필수!

 

 

 

 


2.

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

image_color=cv2.imread('../images/cat.jpg')
print('image_color.shape =',image_color.shape)
image=cv2.cvtColor(image_color,cv2.COLOR_BGR2GRAY)
print('image.shape =',image.shape)

filter=np.array([
    [1,1,1,1,1,1,1],
    [1,1,1,1,1,1,1],
    [1,1,1,1,1,1,1],
    [1,1,1,1,1,1,1],
    [1,1,1,1,1,1,1],
    [1,1,1,1,1,1,1],
    [1,1,1,1,1,1,1]
])/49

image_pad=np.pad(image,((5,5),(5,5)))
print('image_pad.shape =', image_pad.shape)

convolution=np.zeros_like(image)

for row in range(image.shape[0]):
    for col in range(image.shape[1]):
        window=image_pad[row:row+7, col:col+7]
        convolution[row,col]=np.clip(np.sum(window*filter),0,255)
        
image=[image, convolution]
label=['gray','convolution']

plt.figure(figsize=(10,5))
for i in range(len(image)):
    plt.subplot(1,2,i+1)
    plt.xticks([])
    plt.yticks([])
    plt.imshow(image[i],cmap=plt.cm.gray)
    plt.xlabel(label[i])
plt.show()

 

 

 

 

728x90
반응형