파이썬과 OpenCV를 사용하여 이미지에서 모서리 검출하기

이미지 처리에 필요한 모서리 검출은 컴퓨터 비전 분야에서 중요한 작업입니다. 모서리는 이미지의 구조와 형태를 파악하는 데에 도움을 줄 수 있으며, 객체 탐지, 모션 추적 등 다양한 응용 분야에서 사용됩니다. 이번 블로그 포스트에서는 파이썬과 OpenCV를 사용하여 이미지에서 모서리를 검출하는 방법에 대해 알아보겠습니다.

OpenCV 설치하기

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

pip install opencv-python

이미지에서 모서리 검출하기

이미지에서 모서리를 검출하는 가장 기본적인 알고리즘은 Canny Edge Detection입니다. Canny Edge Detection은 이미지에서 변화가 큰 부분, 즉 모서리 부분을 찾아내는 알고리즘입니다. 파이썬에서는 OpenCV의 cv2.Canny() 함수를 사용하여 Canny Edge Detection을 수행할 수 있습니다.

아래는 이미지에서 모서리를 검출하는 예제 코드입니다.

import cv2

def detect_edges(image_path):
    # 이미지 로드
    image = cv2.imread(image_path)

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

    # 가우시안 필터 적용
    blurred = cv2.GaussianBlur(gray, (5, 5), 0)

    # Canny Edge Detection 수행
    edges = cv2.Canny(blurred, 30, 100)

    # 결과 이미지 반환
    return edges

# 이미지에서 모서리 검출
edges = detect_edges("image.jpg")

# 결과 이미지 저장
cv2.imwrite("edges.jpg", edges)

위 코드에서 detect_edges() 함수는 주어진 이미지 경로에서 모서리를 검출하여 결과 이미지를 반환합니다. 예제에서는 image.jpg 파일을 입력으로 사용하고, 결과 이미지는 edges.jpg로 저장됩니다.

결과 확인하기

위 코드를 실행하면 edges.jpg 파일이 생성되며, 해당 이미지를 열어보면 모서리가 검출된 모습을 확인할 수 있습니다. 결과 이미지를 적절히 처리하거나 다른 이미지 처리 작업에 활용할 수 있습니다.

결론

이번 포스트에서는 파이썬과 OpenCV를 사용하여 이미지에서 모서리를 검출하는 방법을 알아보았습니다. 모서리 검출은 컴퓨터 비전 분야에서 많이 사용되며, 다양한 응용 분야에 유용하게 활용될 수 있습니다. OpenCV의 Canny Edge Detection 알고리즘을 사용하여 간단하게 모서리를 검출할 수 있습니다. 추가적인 옵션 및 알고리즘을 사용하면 더 정교하고 다양한 형태의 모서리를 검출할 수 있습니다.


참고 자료:

#파이썬 #OpenCV