[python] 파이썬으로 이미지 윤곽선 굵게 만들기

이미지 처리에서 윤곽선은 주요한 요소 중 하나입니다. 때때로 윤곽선을 두껍게 만들어야 하는 경우가 있습니다. 파이썬의 OpenCV와 NumPy를 사용하여 이미지 윤곽선을 두껍게 만드는 방법에 대해 알아보겠습니다.

이미지 불러오기

가장 먼저 이미지를 불러와야 합니다. 다음은 OpenCV를 사용하여 이미지를 불러오는 예제입니다.

import cv2

# 이미지 불러오기
image = cv2.imread('example.jpg')

이미지 전처리

이미지를 전처리하여 윤곽선을 추출합니다. 그 후에는 윤곽선을 두껍게 만들기 위해 이미지를 이진화해야 합니다.

import cv2
import numpy as np

# 이미지 불러오기
image = cv2.imread('example.jpg')

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

# 이미지 이진화
_, binary = cv2.threshold(gray, 240, 255, cv2.THRESH_BINARY)

윤곽선 찾기

다음으로는 윤곽선을 찾아야 합니다. OpenCV의 findContours 함수를 사용하여 윤곽선을 찾을 수 있습니다.

contours, _ = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

윤곽선 그리기

윤곽선을 그릴 때 두꺼운 선으로 그리기 위해 윤곽선을 닫힌 도형으로 만든 후에 두꺼운 선으로 그릴 수 있습니다.

# 빈 이미지 생성
output = np.zeros(image.shape, dtype=np.uint8)

# 윤곽선 그리기
cv2.drawContours(output, contours, -1, (255, 255, 255), thickness=5)

위 코드에서 thickness 매개변수를 통해 윤곽선의 두께를 조절할 수 있습니다.

결과 확인

두꺼운 윤곽선이 그려진 이미지를 확인해 봅시다.

# 이미지 보기
cv2.imshow('Thick Contours', output)
cv2.waitKey(0)
cv2.destroyAllWindows()

이렇게하면 파이썬과 OpenCV를 사용하여 이미지의 윤곽선을 두껍게 만들 수 있습니다. 윤곽선의 굵기를 조절하고 다양한 이미지에 적용하여 결과를 확인해 보세요.