시작하기무료로 시작하기

엣지 감지 (2)

엣지 감지는 여러 축을 따라 수행한 뒤, 하나의 엣지 값으로 결합할 수 있어요. 2D 이미지의 경우, 가로 및 세로 "엣지 맵"은 피타고라스 정리를 사용해 결합합니다:

$$z = \sqrt{x^2 + y^2}$$

널리 쓰이는 엣지 검출기 중 하나는 Sobel 필터입니다. Sobel 필터는 검출기의 중앙 픽셀에 더 큰 가중치를 부여합니다:

weights = [[ 1,  2,  1], 
           [ 0,  0,  0],
           [-1, -2, -1]]

이번 연습에서는 이전에 수행한 검출을 개선해, Sobel 필터를 적용한 두 이미지의 결과를 합쳐 하나의 합성 엣지 맵을 만들어 보세요.

이 연습은 강의의 일부입니다

Python을 활용한 생의학 영상 분석

강의 보기

연습 안내

  • ndi.sobel()im에 대해 첫 번째 축과 두 번째 축을 따라 각각 적용하세요.
  • 피타고라스 정리를 사용해 전체 엣지 크기를 계산하세요. np.sqrt()np.square()를 사용합니다.
  • 크기 이미지를 화면에 표시하세요. 그레이스케일 컬러맵을 사용하고 vmax75로 설정하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Apply Sobel filter along both axes
sobel_ax0 = ndi.sobel(____, axis=____)
sobel_ax1 = ____

# Calculate edge magnitude 
edges = ____

# Plot edge magnitude
plt.imshow(____, ____, ____)
format_and_render_plot()
코드 편집 및 실행