이번 블로그 포스트에서는 파이썬과 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