[python] 이미지 중심점과 외곽선 찾기

이미지 처리에서 중심점과 외곽선은 매우 중요한 정보입니다. 중심점은 이미지의 위치를 파악하고, 외곽선은 객체의 형태를 파악하는 데 사용됩니다. 이번 포스트에서는 Python을 사용하여 이미지의 중심점과 외곽선을 찾는 방법을 알아보겠습니다.

OpenCV 설치

이미지 처리를 위해 OpenCV를 사용합니다. OpenCV는 pip를 통해 간단히 설치할 수 있습니다.

pip install opencv-python

이미지 로드하기

먼저, 이미지를 로드해야 합니다. Python의 OpenCV 라이브러리를 사용하여 이미지를 로드할 수 있습니다.

import cv2

# 이미지 로드
image = cv2.imread('image.jpg')

위의 코드에서 ‘image.jpg’는 처리할 이미지 파일의 경로와 파일 이름을 나타냅니다.

이미지 중심점 찾기

이미지의 중심점을 찾기 위해 다음의 코드를 사용할 수 있습니다.

# 이미지의 중심점 계산
height, width, _ = image.shape
center_x = width // 2
center_y = height // 2

# 중심점 출력
print("중심점 좌표:", center_x, center_y)

위의 코드에서 image.shape를 통해 이미지의 높이와 너비를 가져옵니다. 그 후, // 연산자를 사용하여 정수로 나누어줍니다. 마지막으로, 중심점의 x, y 좌표를 출력합니다.

이미지 외곽선 찾기

이미지의 외곽선을 찾기 위해서는 다음의 코드를 사용합니다.

# 이미지를 흑백으로 변환
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 이미지의 외곽선 검출
edges = cv2.Canny(gray_image, threshold1=30, threshold2=100)

# 외곽선 출력
cv2.imshow("외곽선", edges)
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 코드에서 cvtColor 함수는 이미지를 흑백으로 변환합니다. Canny 함수는 이미지의 외곽선을 검출합니다. threshold1threshold2는 외곽선 감지를 위한 두 개의 임계값을 나타냅니다. 이후, imshow 함수를 사용하여 외곽선을 출력하고 waitKeydestroyAllWindows 함수를 사용하여 이미지 윈도우를 표시합니다.

이제 위의 코드를 실행하면 이미지의 중심점과 외곽선을 확인할 수 있습니다.

결론

본 포스트에서는 Python의 OpenCV를 사용하여 이미지의 중심점과 외곽선을 찾는 방법에 대해 알아보았습니다. 이미지 처리에서 중심점과 외곽선은 매우 유용한 정보이므로, 다양한 응용 프로그램에 사용할 수 있습니다. OpenCV의 다른 기능도 함께 탐색해보세요!

참고 자료