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
반응형
'즐거운프로그래밍' 카테고리의 다른 글
[딥러닝] 필터 역할 살펴보기(다양한 이미지 출력) (0) | 2023.11.01 |
---|---|
[딥러닝] 필터 역할 살펴보기(컬러이미지로 적용하기) (0) | 2023.11.01 |
[딥러닝] 알고리즘 CNN신경망 입력 필터 늘리기 (0) | 2023.10.31 |
[딥러닝] 알고리즘 CNN 신경망 (0) | 2023.10.31 |
[딥러닝] 딥러닝 활용하기(임의 흑백, 컬러 이미지 데이터 셋 학습) (0) | 2023.10.30 |