파이썬으로 OpenCV를 이용하여 이미지에서 불규칙한 형상 검출하기

이미지 처리를 위한 인기있는 라이브러리인 OpenCV를 사용하여 이미지에서 불규칙한 형상을 검출하는 방법에 대해 알아보겠습니다.

필요한 패키지 설치

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

pip install opencv-python

이미지 불러오기

검출할 이미지를 불러옵니다. 아래의 코드를 사용하여 이미지를 불러올 수 있습니다.

import cv2

# 이미지 파일 경로
image_path = 'image.jpg'

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

이미지 전처리

불러온 이미지를 전처리하여 형상 검출에 적합한 형태로 변환해야 합니다. 예를 들어, 이미지를 그레이스케일로 변환하거나 가우시안 블러를 적용할 수 있습니다.

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

# 가우시안 블러 적용
blur_image = cv2.GaussianBlur(gray_image, (5, 5), 0)

형상 검출

전처리된 이미지에서 형상을 검출하는 방법은 다양합니다. 여기서는 Canny 엣지 검출을 사용하여 불규칙한 형상을 찾아보겠습니다.

# Canny 엣지 검출
edges = cv2.Canny(blur_image, 50, 150)

검출된 형상 표시

검출된 형상을 원본 이미지에 표시할 수 있습니다. 아래의 코드를 사용하여 형상을 표시해보세요.

# 형상 검출 결과 표시
cv2.imshow("Shape Detection", edges)
cv2.waitKey(0)

전체 코드

import cv2

# 이미지 파일 경로
image_path = 'image.jpg'

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

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

# 가우시안 블러 적용
blur_image = cv2.GaussianBlur(gray_image, (5, 5), 0)

# Canny 엣지 검출
edges = cv2.Canny(blur_image, 50, 150)

# 형상 검출 결과 표시
cv2.imshow("Shape Detection", edges)
cv2.waitKey(0)

이제 위의 코드를 사용하여 파이썬으로 OpenCV를 이용하여 이미지에서 불규칙한 형상을 검출할 수 있습니다.

참고 자료

#AI #이미지처리