시작하기무료로 시작하기

이미지 컨볼루션

이미지를 커널과 컨볼루션하면, 이미지의 한 부분과 커널을 원소별로 곱한 뒤 그 합으로 그 부분을 요약합니다. 이 연습 문제에서는 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)
코드 편집 및 실행