파이썬과 OpenCV를 사용하여 동영상에서 자동차 카운팅하기

이번 블로그 포스트에서는 파이썬과 OpenCV를 사용하여 동영상에서 자동차를 카운팅하는 방법을 설명하겠습니다.

필요한 패키지 설치

먼저, 파이썬과 OpenCV를 설치해야 합니다. 아래 명령어를 사용하여 필요한 패키지를 설치해주세요.

pip install opencv-python
pip install opencv-contrib-python

동영상 불러오기

’'’python import cv2

동영상 파일 경로

video_path = “path/to/video/file.mp4”

동영상 불러오기

video = cv2.VideoCapture(video_path) ‘’’

객체 추적하기

’'’python tracker = cv2.TrackerKCF_create() # 객체 추적 알고리즘 선택

첫 번째 프레임 읽기

success, frame = video.read()

추적할 객체 선택

bbox = cv2.selectROI(“Object Tracker”, frame, showCrosshair=False)

추적 시작하기

tracker.init(frame, bbox) ‘’’

자동차 카운트하기

’'’python car_count = 0

while True: # 영상 프레임 읽기 success, frame = video.read() if not success: break

# 객체 추적하기
success, bbox = tracker.update(frame)

# 추적한 객체가 있을 경우
if success:
    # 추적된 객체 박스 그리기
    x, y, w, h = [int(v) for v in bbox]
    cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)

    # 객체가 화면 하단을 벗어나면 자동차로 인식하고 카운팅
    if y + h > frame.shape[0] - 10:
        car_count += 1

# 프레임에 자동차 카운트 텍스트 추가
cv2.putText(frame, "Car Count: {}".format(car_count), (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 255, 0), 2)

# 카운트 된 프레임 출력
cv2.imshow("Car Counting", frame)
if cv2.waitKey(1) == ord('q'):
    break

리소스 해제

video.release() cv2.destroyAllWindows() ‘’’

결과 확인하기

위 코드를 실행하면 동영상에서 자동차를 추적하고, 하단을 벗어난 자동차를 카운팅하는 기능을 구현할 수 있습니다.

출력되는 동영상 화면에서는 카운트된 자동차 수가 실시간으로 표시되며, ‘q’ 키를 누르면 프로그램이 종료됩니다.

이를 통해 동영상에서 자동차를 자동으로 카운팅하는 기능을 구현할 수 있습니다.

#references

#python #OpenCV