파이썬으로 OpenCV를 이용하여 이미지에서 윤곽선 추출하기

이미지 처리를 위해 OpenCV(Open Source Computer Vision Library)는 많이 사용되는 라이브러리 중 하나입니다. 이 라이브러리를 사용하여 파이썬으로 이미지에서 윤곽선을 추출하는 방법에 대해 알아보겠습니다.

1. OpenCV 설치하기

먼저, OpenCV를 설치해야합니다. 아래의 명령어를 사용하여 설치할 수 있습니다:

pip install opencv-python

2. 이미지 불러오기

먼저, 이미지를 불러와야합니다. 아래의 코드로 이미지를 불러올 수 있습니다:

import cv2

# 이미지 파일 경로
image_path = "image.jpg"

# 이미지 파일 불러오기
image = cv2.imread(image_path)

# 이미지 보여주기
cv2.imshow("Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()

3. 이미지 전처리하기

윤곽선을 추출하기 전에 이미지를 전처리해야합니다. 주로 그레이스케일 변환 및 이미지 블러 처리를 수행합니다. 아래의 코드로 전처리할 수 있습니다:

import cv2

# 이미지 파일 경로
image_path = "image.jpg"

# 이미지 파일 불러오기
image = cv2.imread(image_path)

# 이미지를 그레이스케일로 변환
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 이미지 블러 처리
blurred = cv2.GaussianBlur(gray, (5, 5), 0)

# 이미지 보여주기
cv2.imshow("Blurred Image", blurred)
cv2.waitKey(0)
cv2.destroyAllWindows()

4. 윤곽선 추출하기

이미지를 전처리한 후에는 윤곽선을 추출할 수 있습니다. 아래의 코드로 윤곽선을 추출할 수 있습니다:

import cv2

# 이미지 파일 경로
image_path = "image.jpg"

# 이미지 파일 불러오기
image = cv2.imread(image_path)

# 이미지를 그레이스케일로 변환
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 이미지 블러 처리
blurred = cv2.GaussianBlur(gray, (5, 5), 0)

# 윤곽선 추출
edges = cv2.Canny(blurred, 50, 150)

# 윤곽선 보여주기
cv2.imshow("Edges", edges)
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 코드를 실행하면 이미지에서 윤곽선이 추출된 결과를 확인할 수 있습니다.

이렇게 파이썬에서 OpenCV를 이용하여 이미지에서 윤곽선을 추출하는 방법에 대해 알아보았습니다. OpenCV는 이미지 처리에 널리 사용되는 강력한 도구이며, 윤곽선 추출 외에도 다양한 이미지 처리 작업에 유용합니다. 추가적인 정보를 얻으려면 OpenCV 공식 문서를 참조해보세요.


참고문서: