Skip to content

GHeeJeon/7-segment-video-reader

Repository files navigation

7-segment-video-reader

저도 영상 인식 처리는 처음 해보는데요...

City Car Driving - 시뮬레이션 게임

(클릭) 위 시뮬레이션 플레이 영상을 기반으로

490101310-a9d8fe30-939d-44aa-9070-4f70b6636482
(클릭) 위치가 고정된 속력 UI(좌측 상단) 를 30fps 단위로 크롭해서

490106400-cd0db321-2237-49b6-88d7-8d8fcbce5ed3
(클릭) 크롭한 이미지 속 속력, 7-segment 형태의 숫자를 인식하고

490106936-96327d78-621b-427b-81b5-ee9a113dcef9
(클릭) 자동차의 속력과 통계 데이터를 .xlsx 파일로 저장하는 프로그램입니다.

490119725-d0335327-1fe9-49a1-9ec1-89ec7a05c588

준비물

  1. ffmpeg (윈도우는 choco로, 맥에서는 brew 로 설치)
  2. 시뮬레이션 플레이 영상 (파일명은 자유, 형식은 .mp4 권장)
  3. 파이썬 가상환경 세팅
    For Mac : python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt
    For Windows : python -m venv .venv .venv\Scripts\Activate.ps1 pip install -r requirements.txt

어떻게 사용하냐면요...

  1. source/[플레이어 이름]/[번호]/ 위치에 시뮬레이션 플레이 영상을 하나씩 추가해요

Oct-10-2025 00-43-08

  1. 한 플레이어가 여러 번 주행했을 경우 다음 번호에 동영상을 추가해요

Oct-10-2025 00-52-19

  1. 여러 플레이어를 추가할 수 있어요

Oct-10-2025 00-57-23

  1. 프로젝트 최상단 디렉토리에서 다음의 명령어 중 하나를 실행해요 arguments
python run_all.py
python3 run_all.py
  1. 기다려요. 완료 메시지가 뜰 때까지요!
    5분 57초 영상 하나를 30fps 기준으로 완료하는데 3분 41초가 걸렸어요. (1만 장 이상의 이미지 처리 필요)

Oct-10-2025 01-19-15

run_all.py 를 실행하면요...

  1. 동영상의 좌측 상단 속력 UI 부분을 크롭해, 지정된 프레임 단위로 캡쳐해요 (기본 30fps)
  2. 캡쳐한 이미지를 source/[플레이어 이름]/[번호]/[동영상 이름]/frames30_pts 위치에 저장해요
  3. frames30_pts 폴더 속 이미지에서 7-segment 형태의 숫자를 추출_cls_result.csv 로 저장해요
  4. _cls_result.csv 데이터를 바탕으로 통계를 계산해 _speed_time.xlsx 로 저장해요

About

저도 영상 인식 처리는 처음 해보는데요...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages