이미지 컨볼루션
이미지를 커널과 컨볼루션하면, 이미지의 한 부분과 커널을 원소별로 곱한 뒤 그 합으로 그 부분을 요약합니다. 이 연습 문제에서는 Numpy를 사용해 이미지와 커널의 컨볼루션을 수행하는 코드를 작성해 보겠습니다. 변수 im에 저장된 흑백 이미지가 주어졌을 때, 제공된 커널과의 컨볼루션을 실행하도록 반복문 내부의 연산을 작성하세요.
이 연습은 강의의 일부입니다
Keras로 배우는 이미지 모델링
연습 안내
- 각 반복에서 이미지에서 올바른 윈도를 선택한 뒤, 해당 이미지 부분을 커널과 곱하세요.
- 결과를 합산하여 출력 배열(
results)의 올바른 위치에 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
kernel = np.array([[0, 1, 0], [1, 1, 1], [0, 1, 0]])
result = np.zeros(im.shape)
# Output array
for ii in range(im.shape[0] - 3):
for jj in range(im.shape[1] - 3):
result[ii, jj] = (____[ii:ii+3, jj:____+____] * ____).____
# Print result
print(result)