패치를 이용한 이미지 클리핑

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 Python 의 Matplotlib 라이브러리를 사용하여 패치 (patch) 로 이미지를 클리핑 (clipping) 하는 방법을 배웁니다. 패치로 이미지를 클리핑하면 이미지의 특정 영역을 강조 표시하거나 이미지를 특정 모양으로 자를 수 있습니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접속하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

라이브러리 임포트

시작하려면 필요한 라이브러리를 임포트해야 합니다. 이미지를 표시하고 패치 (patch) 를 생성하기 위해 Matplotlib 을 사용하고, 샘플 이미지를 로드하기 위해 cbook 라이브러리를 사용합니다.

import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
import matplotlib.patches as patches

이미지 로드

cbook에서 get_sample_data 메서드를 사용하여 샘플 이미지를 로드합니다. 이 메서드는 파일과 유사한 객체를 반환하며, 이를 imshow에 전달하여 이미지를 표시할 수 있습니다.

with cbook.get_sample_data('grace_hopper.jpg') as image_file:
    image = plt.imread(image_file)

이미지 표시

이제 Matplotlib 의 imshow 메서드를 사용하여 이미지를 표시할 수 있습니다. 또한 축을 끄면 이미지 만 볼 수 있습니다.

fig, ax = plt.subplots()
im = ax.imshow(image)
ax.axis('off')

패치 생성

패치를 생성하기 위해 Matplotlib 의 patches 모듈을 사용합니다. (260, 200) 지점을 중심으로 하고 반지름이 200 픽셀인 원형 패치를 생성합니다.

patch = patches.Circle((260, 200), radius=200, transform=ax.transData)

이미지 클리핑

마지막으로, 이미지의 set_clip_path 메서드를 사용하여 이미지를 클리핑합니다. 이 메서드는 패치를 인수로 받아 이미지를 패치의 모양으로 클리핑합니다.

im.set_clip_path(patch)

클리핑된 이미지 표시

이제 Matplotlib 의 show 메서드를 사용하여 클리핑된 이미지를 표시할 수 있습니다.

plt.show()

요약

이 Lab 에서는 Python 의 Matplotlib 라이브러리를 사용하여 패치로 이미지를 클리핑하는 방법을 배웠습니다. 샘플 이미지를 로드하고, 원형 패치를 생성한 다음, 이미지를 패치의 모양으로 클리핑했습니다. 패치로 이미지를 클리핑하는 것은 이미지의 특정 영역을 강조하거나 이미지를 특정 모양으로 자르는 데 유용할 수 있습니다.