파이썬으로 OpenCV를 이용하여 동영상에서 도형 인식하기

개요

이번 블로그 포스트에서는 Python과 OpenCV를 사용하여 동영상에서 도형을 인식하는 방법에 대해 알아보겠습니다. OpenCV는 컴퓨터 비전을 위한 오픈소스 라이브러리로, 이미지 및 비디오 처리, 객체 감지 및 추적, 도형 인식 등 다양한 기능을 제공합니다.

필요한 라이브러리 설치

pip install opencv-python

동영상에서 도형 인식하기

  1. 라이브러리 가져오기
    import cv2
    import numpy as np
    
  2. 동영상 파일 열기
    cap = cv2.VideoCapture('video.mp4')
    
  3. 비디오 프레임 순환
    while cap.isOpened():
     ret, frame = cap.read()
     if not ret:
         break
    
  4. 프레임 전처리
     gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
     blurred = cv2.GaussianBlur(gray, (5, 5), 0)
     edges = cv2.Canny(blurred, 50, 150)
    
  5. 도형 인식을 위한 윤곽선 찾기
     contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    
  6. 윤곽선 그리기 및 도형 인식
     for contour in contours:
         approx = cv2.approxPolyDP(contour, 0.03 * cv2.arcLength(contour, True), True)
         if len(approx) == 3:
             cv2.drawContours(frame, [approx], 0, (0, 255, 0), 3)
         if len(approx) == 4:
             cv2.drawContours(frame, [approx], 0, (0, 0, 255), 3)
         if len(approx) >= 5:
             cv2.drawContours(frame, [approx], 0, (255, 0, 0), 3)
    
  7. 도형 인식된 프레임 출력
     cv2.imshow('Shape Detection', frame)
    
  8. 종료 조건 설정
     if cv2.waitKey(1) & 0xFF == ord('q'):
         break
    
  9. 종료 처리
    cap.release()
    cv2.destroyAllWindows()
    

실행결과

위의 코드를 실행하면 동영상에서 인식된 도형이 각각 다른 색으로 표시된 프레임이 출력됩니다.

마무리

이번 포스트에서는 Python과 OpenCV를 사용하여 동영상에서 도형을 인식하는 방법에 대해 알아보았습니다. OpenCV의 다양한 기능을 활용하여 컴퓨터 비전 프로젝트를 구현할 수 있으며, 유용한 기술 중 하나인 도형 인식에 대해 배웠습니다.

#Python #OpenCV