[python] OpenCV를 사용하여 이미지에서 모서리 감지하기

이미지 처리 및 컴퓨터 비전 작업을 수행하는데 도움이되는 강력한 라이브러리인 OpenCV는 Python에서도 사용할 수 있습니다. OpenCV를 사용하여 이미지에서 모서리를 감지하는 간단한 예제를 살펴보겠습니다.

1. OpenCV 설치

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

pip install opencv-python

2. 이미지를 불러옵니다.

import cv2

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

위 코드는 OpenCV를 사용하여 “image.jpg”라는 이미지를 불러오고, 이를 image 변수에 저장합니다.

3. 그레이 스케일로 변환합니다.

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

모서리를 감지하기 전에 이미지를 그레이 스케일로 변환해야합니다. cv2.cvtColor() 함수를 사용하여 BGR 이미지를 그레이 스케일로 변환하는 코드입니다.

4. 모서리 감지하기

# 모서리 감지
edges = cv2.Canny(gray, 50, 150)

cv2.Canny() 함수를 사용하여 모서리를 감지합니다. 이 함수는 Canny 에지 감지 알고리즘을 사용하여 이미지에서 모서리를 찾습니다. gray 이미지와 최소 임계값 50, 최대 임계값 150을 사용하도록 지정했습니다.

5. 결과 출력

# 결과 출력
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()

마지막으로 감지된 모서리를 화면에 표시합니다. cv2.imshow() 함수를 사용하여 “Edges”라는 윈도우에 결과 이미지를 표시하고, cv2.waitKey(0)을 사용하여 키가 눌릴 때까지 대기한 후, cv2.destroyAllWindows()을 사용하여 윈도우를 닫습니다.

완성된 예제 코드

import cv2

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

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

# 모서리 감지
edges = cv2.Canny(gray, 50, 150)

# 결과 출력
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()

이제 위의 코드를 실행하여 이미지에서 모서리를 감지하는 작업을 수행 할 수 있습니다.

결론

OpenCV는 이미지 처리 및 컴퓨터 비전 작업을 수행하는 데 매우 유용한 도구입니다. 이 예제를 통해 OpenCV를 사용하여 이미지에서 모서리를 감지하는 방법을 배웠습니다. 더 복잡한 작업을 위해서는 OpenCV의 다른 기능과 알고리즘을 참고하면 됩니다.