[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에서 제공하는 다른 기능도 함께 살펴보면 더욱 흥미로운 결과를 얻을 수 있을 것입니다.