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

이번 튜토리얼에서는 파이썬과 OpenCV를 사용하여 동영상에서 자동차를 인식하는 방법을 알아보겠습니다. OpenCV는 이미지 및 동영상 처리에 널리 사용되는 라이브러리입니다. 이 튜토리얼에서는 OpenCV의 VideoCapture 클래스를 사용하여 동영상을 열고 CascadeClassifier 클래스를 사용하여 자동차를 인식할 것입니다.

필요한 라이브러리 설치하기

먼저, 필요한 라이브러리를 설치해야 합니다. 아래 명령어를 사용하여 OpenCV를 설치하세요.

pip install opencv-python

동영상에서 자동차 인식하기

다음은 동영상에서 자동차를 인식하는 코드입니다.

import cv2

# 동영상 파일 열기
cap = cv2.VideoCapture('video.mp4')

# 자동차 인식을 위한 Haar Cascade 파일 로드
car_cascade = cv2.CascadeClassifier('cars.xml')

while True:
    # 프레임 읽기
    ret, frame = cap.read()

    # 동영상이 끝나면 종료
    if not ret:
        break

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

    # 자동차 인식
    cars = car_cascade.detectMultiScale(gray, 1.1, 3)

    # 인식된 자동차에 사각형 그리기
    for (x, y, w, h) in cars:
        cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)

    # 결과 출력
    cv2.imshow('Car Detection', frame)
    
    # 'q' 키를 누르면 종료
    if cv2.waitKey(1) == ord('q'):
        break

# 열린 윈도우들 닫기
cap.release()
cv2.destroyAllWindows()

위 코드에서는 VideoCapture 클래스를 사용하여 동영상 파일을 열고, CascadeClassifier 클래스를 사용하여 자동차를 인식하기 위한 Haar Cascade 파일을 로드합니다. 그 후, 프레임을 읽어와 그레이스케일로 변환한 후, detectMultiScale 메서드로 자동차를 인식합니다. 인식된 자동차에는 초록색 사각형으로 표시되어 화면에 출력됩니다. 프레임을 연속적으로 읽어들이며, ‘q’ 키를 누를 때까지 인식 결과를 화면에 보여줍니다.

이제 동영상에서 자동차를 인식하는 간단한 예제를 만들었습니다. 이를 통해 OpenCV의 기능과 활용 방법에 대해 자세히 알아갈 수 있을 것입니다. 참고로, 자동차 인식을 위한 Haar Cascade 파일은 인터넷에서 다운로드할 수 있으며, 다른 객체를 인식하기 위한 다른 Haar Cascade 파일도 사용할 수 있습니다.

참고 자료

해시태그

#python #opencv