[python] PIL로 이미지 윤곽선 검출하기

이미지 처리를 위한 Python Imaging Library(PIL)은 많은 기능을 제공합니다. 이 중에 하나는 이미지에서 윤곽선을 검출하는 것입니다. 윤곽선 검출은 이미지 분석, 객체 감지, 모션 추적 등 다양한 애플리케이션에 사용됩니다.

이번에는 PIL을 사용하여 이미지에서 윤곽선을 검출하는 간단한 예제를 살펴보겠습니다.

이미지 로드하기

먼저, PIL을 이용하여 이미지를 로드해야 합니다. 이 예제에서는 open() 함수를 사용하여 이미지 파일을 엽니다.

from PIL import Image

# 이미지 파일 열기
image = Image.open('image.jpg')

윤곽선 검출하기

PIL의 ImageFilter 모듈을 사용하여 윤곽선을 검출할 수 있습니다. find_contours() 메서드를 사용하여 윤곽선을 검출하고, outline 변수에 결과를 저장합니다.

from PIL import ImageFilter

# 윤곽선 검출하기
contours = image.filter(ImageFilter.FIND_EDGES)

결과 확인하기

검출된 윤곽선을 확인하기 위해 이미지를 출력해보겠습니다.

# 결과 확인하기
contours.show()

전체 코드

다음은 전체 코드입니다.

from PIL import Image, ImageFilter

# 이미지 파일 열기
image = Image.open('image.jpg')

# 윤곽선 검출하기
contours = image.filter(ImageFilter.FIND_EDGES)

# 결과 확인하기
contours.show()

이 예제를 실행하면 원본 이미지와 윤곽선이 표시된 이미지가 나타납니다.

결론

PIL을 사용하여 이미지에서 윤곽선을 검출하는 방법에 대해 알아보았습니다. 이를 응용하여 객체 감지, 모션 추적 등 다양한 이미지 처리 작업에 활용할 수 있습니다. PIL에서 제공하는 다른 기능도 함께 살펴보면 더욱 흥미로운 결과를 얻을 수 있을 것입니다.