[python] OpenCV로 이미지 모서리 검출하기

이미지 처리를 위한 강력한 라이브러리인 OpenCV를 사용하여 이미지에서 모서리를 검출하는 방법을 살펴보겠습니다.

필요한 패키지 설치하기

먼저, OpenCV를 설치해야 합니다. Python에서는 pip를 사용하여 간단히 설치할 수 있습니다. 아래 명령어를 실행하여 OpenCV를 설치해주세요.

pip install opencv-python

이미지 읽기

가장 먼저, 이미지를 읽어와야 합니다. OpenCV에서는 imread 함수를 사용하여 이미지를 읽을 수 있습니다. 아래 예제 코드는 example.jpg라는 이미지를 읽어옵니다.

import cv2

# 이미지 읽기
img = cv2.imread('example.jpg')

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

이미지 모서리 검출하기

이제 OpenCV의 Canny 함수를 사용하여 이미지에서 모서리를 검출할 수 있습니다. Canny 함수는 이미지의 경계선을 찾아주는 역할을 합니다.

import cv2

# 이미지 읽기
img = cv2.imread('example.jpg')

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

# 모서리 검출
edges = cv2.Canny(gray, 100, 200)

# 모서리 보여주기
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 코드에서 Canny 함수에는 두 개의 임계값을 입력해야 합니다. 이 임계값은 모서리를 결정하는 기준으로 사용됩니다. 일반적으로 낮은 임계값과 높은 임계값 사이의 비율은 1:2 또는 1:3을 사용하는 것이 좋습니다.

결과 확인하기

모서리 검출 결과를 확인하기 위해 이미지를 출력할 수 있습니다. 위의 코드에서 imshow 함수를 사용하여 이미지를 출력하고, waitKey 함수를 사용하여 키 입력을 대기한 다음 destroyAllWindows 함수를 사용하여 창을 닫습니다.

마무리

OpenCV를 사용하여 이미지에서 모서리를 검출하는 방법에 대해 알아보았습니다. Canny 함수를 통해 간단하게 모서리를 검출할 수 있으며, 이를 활용하여 다양한 이미지 처리 작업을 할 수 있습니다. OpenCV에는 모서리 검출 이외에도 다양한 이미지 처리 기능이 제공되므로, 다양한 응용 프로그램을 개발하는 데에 활용할 수 있습니다.

참고 자료