이 블로그 튜토리얼에서 설명과 코드 샘플을 사용 하여이 프로젝트를 구축하는 방법에 대한 자세한 내용에 대해 설명했습니다.
| 비디오 파일 디렉토리 | 추출 된 이미지 디렉토리 |
|---|---|
![]() | ![]() |
| 디렉토리 내부의 모든 비디오를 반복하십시오 | 프레임 추출물 (사용자 정의 후 (추출 된 프레임 사이의 원하는 간격 (초), 시작 후 시작 (원하는 초) 등 |
비디오 프레임 추출기는 디렉토리에서 모든 비디오 파일을 반복하는 프레임을 추출하고 원래 크기 프레임과 크기가 크기가 큰 프레임 용으로 개별 이미지 파일로 저장할 수있는 파이썬 스크립트입니다. 이 스크립트는 이미지 처리 및 화재 Python 패키지를 위해 OpenCV 및 Imutils Python 패키지를 사용하여 단순화 된 명령 줄 인터페이스를 사용합니다.
이 스크립트를 사용하면 지정된 속도로 비디오에서 프레임을 추출 할 수 있습니다. 추출 된 프레임 사이에 원하는 간격 (초)을 지정하면 객체 감지, 이미지 분류 또는 기타 컴퓨터 비전 작업을위한 큰 이미지 데이터 세트를 빠르게 생성 할 수 있습니다.
이미지 주석의 경우 비디오에서 프레임을 추출해야합니다. 이 애플리케이션을 사용하면 데이터가 처음에 비디오 형태로 사용 되더라도 객체 감지 또는 이미지 분류 모델을 훈련하기위한 대규모 이미지 데이터 세트를 쉽게 생성 할 수 있습니다.
디렉토리 내부의 모든 비디오 파일을 반복하기 위해 프레임 추출 프로세스를 자동화 함으로써이 앱은 각 비디오 파일에서 프레임을 수동으로 추출하는 것과 비교하여 시간과 노력을 절약 할 수 있습니다.
컴퓨터 비전 프로젝트에 유용한 비디오 프레임 추출기를 찾기를 바랍니다!
비디오 프레임 추출기를 사용하려면 다음 인수와 함께 frame_extractor.py Python 스크립트를 실행해야합니다.
vid_dir : 프레임에서 프레임을 추출하려는 비디오 파일이 포함 된 디렉토리의 경로.out_dir : 추출 된 프레임을 저장하려는 디렉토리로가는 경로.img_frmt (선택 사항) : 추출 된 프레임을 저장하기위한 이미지 형식. 기본값은 JPG 입니다.required_frame_rate (선택 사항) : 초당 추출 할 프레임 수입니다. 기본값은 1 입니다.start_from_seconds (선택 사항) : 프레임 추출을 시작하는 초 수 기본값은 0 입니다.앱은 지정된 디렉토리의 모든 비디오에서 프레임을 추출하여 출력 디렉토리에 저장합니다.
이 앱을 실행할 때마다 인수를 전달하는 대신 Settings.py 파일 내에 이러한 인수를 추가 할 수 있습니다. 설정
python frame_extractor_multithread.py 실행하십시오 비디오 프레임 추출기를 사용하려면 Python 3과 다음 Python 패키지가 설치되어 있어야합니다.
터미널에서 다음 명령을 실행하여 PIP를 사용하여 이러한 패키지를 설치할 수 있습니다.
pip install opencv-python imutils fire python frame_extractor . py - - help python frame_extractor . py - - vid_dir = [ vid_dir ] - - out_dir = [ out_dir ] - - img_frmt = [ img_frmt ] - - required_frame_rate = [ required_frame_rate ] - - start_from_seconds = [ start_from_seconds ] vid_dir 의 모든 비디오에 대한 추출 프로세스가 시작되고 추출 된 프레임이 out_dir 에 저장됩니다.
/path/to/video directory에 My_video.mp4라는 비디오 파일이 있다고 가정하고 프레임에서 프레임을 추출하여 프레임 속도로 2 프레임의 프레임 속도로/path/to/output 디렉토리에 저장하려고합니다. 두 번째로 10 초에서 비디오로 시작합니다. 다음 명령을 실행할 수 있습니다.
python frame_extractor . py - - vid_dir = / path / to / video - - out_dir = / path / to / output - - required_frame_rate = 2 - - start_from_seconds = 10스크립트는 my_video.mp4에서 프레임을 추출하고, 원래 크기 프레임을/path/to/output/orig_size_frames 디렉토리에 저장하고/path/to/output/re_size_frames directory의 해상 프레임을 저장합니다. 추출 된 프레임은 my_video_1.jpg, my_video_2.jpg 등의 파일 이름과 함께 JPEG 형식으로 저장됩니다.
또는 settings.py 파일을 편집 할 수 있으며 frame_extractor.py 여기에서 인수를 수락합니다.
예를 들어:
settings.py 에서 필요한 설정을 편집합니다
# If you don't want to pass too many arguments every time you can modify the settings here.
# And the script will accept the setting from this file every time you run
# 'python extract_frames.py'
# Video file
VIDEO_DIRPATH = ROOT / 'videos' # EDIT: 1 (Required)
# Frame settings
REQUIRED_FRAME_RATE = 2 # EDIT: 2
# Number of seconds for a frame. For example: 0.5 means, 1 frame after 0.5 seconds pass
START_FROM_SECOND = 1 # EDIT: 3
# For example: 2 means, start extraction of the frames after 2 seconds of the video is passed.
REQUIRED_IMAGE_FORMAT = 'jpg' # EDIT: 4
REQUIRED_IMAGE_WIDTH = 720 # EDIT: 5
# Output frames dirpath
OUTDIR = BASE_ROOT / 'skyscraper' # EDIT: 6 (Required) 내 파이썬 코드가 도움이되면 별을주는 것을 고려하십시오.
앱의 문제에 대해서는 피드백이나 개선을위한 제안이 있습니다. 문제를 제기하십시오
비디오 프레임 추출기는 MIT 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.