Seperti yang telah saya jelaskan secara detail dalam tutorial blog ini tentang cara membangun proyek ini dengan penjelasan dan sampel kode.
Direktori File Video | Direktori gambar yang diekstraksi |
---|---|
![]() | ![]() |
Mengulangi semua video di dalam direktori | Ekstrak bingkai (setelah kustomisasi (interval yang diinginkan (dalam detik) antara bingkai yang diekstraksi, mulai setelah (detik yang diinginkan) dll) |
Ekstraktor bingkai video adalah skrip Python yang memungkinkan Anda untuk mengekstrak bingkai yang berulang di semua file video dari direktori dan menyimpannya sebagai file gambar individual dalam dua direktori yang berbeda: satu untuk bingkai ukuran asli dan satu untuk bingkai yang diubah ukurannya. Script menggunakan paket OpenCV dan IMUTILS Python untuk pemrosesan gambar dan Paket Python Fire untuk antarmuka baris perintah yang disederhanakan.
Skrip ini memungkinkan Anda untuk mengekstrak bingkai dari video dengan kecepatan tertentu. Dengan menentukan interval yang diinginkan (dalam detik) antara bingkai yang diekstraksi, Anda dapat dengan cepat menghasilkan set data besar gambar untuk deteksi objek, klasifikasi gambar, atau tugas visi komputer lainnya.
Untuk anotasi gambar, seringkali perlu untuk mengekstrak bingkai dari video. Aplikasi ini memudahkan untuk menghasilkan set data besar gambar untuk deteksi objek pelatihan atau model klasifikasi gambar, bahkan jika data Anda awalnya dalam bentuk video.
Dengan mengotomatiskan proses ekstraksi bingkai untuk mengulangi semua file video di dalam direktori, aplikasi ini menghemat waktu dan upaya Anda dibandingkan dengan mengekstraksi bingkai secara manual dari setiap file video.
Semoga Anda menemukan bingkai video yang bermanfaat untuk proyek visi komputer Anda!
Untuk menggunakan Extractor bingkai video, Anda perlu menjalankan skrip python frame_extractor.py
dengan argumen berikut:
vid_dir
: Jalur ke direktori yang berisi file video yang ingin Anda ekstrak dari bingkai.out_dir
: Jalan ke direktori tempat Anda ingin menyimpan bingkai yang diekstraksi.img_frmt
(Opsional): Format gambar untuk menyimpan bingkai yang diekstraksi. Default adalah jpg .required_frame_rate
(opsional): Jumlah frame untuk diekstrak per detik. Default adalah 1 .start_from_seconds
(opsional): Jumlah detik untuk mulai mengekstraksi bingkai. Default adalah 0 .Aplikasi ini akan mengekstrak bingkai dari semua video di direktori yang ditentukan dan menyimpannya ke direktori output.
Alih -alih menyampaikan argumen setiap kali Anda menjalankan aplikasi ini, Anda dapat menambahkan argumen ini di dalam file settings.py. Pengaturan
python frame_extractor_multithread.py
Untuk menggunakan Extractor Frame Video, Anda harus memiliki Python 3 dan paket ularin berikut yang diinstal:
Anda dapat menginstal paket ini menggunakan PIP, dengan menjalankan perintah berikut di terminal Anda:
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 ]
Proses ekstraksi untuk semua video di vid_dir
akan dimulai dan bingkai yang diekstraksi akan disimpan ke out_dir
Misalkan Anda memiliki file video yang disebut my_video.mp4 yang terletak di direktori/path/to/video, dan Anda ingin mengekstrak bingkai darinya dan menyimpannya di direktori/path/to/output, dengan laju bingkai 2 bingkai per bingkai per per bingkai per 2 kedua dan mulai dari 10 detik ke dalam video. Anda dapat menjalankan perintah berikut:
python frame_extractor . py - - vid_dir = / path / to / video - - out_dir = / path / to / output - - required_frame_rate = 2 - - start_from_seconds = 10
Script akan mengekstrak bingkai dari my_video.mp4, menyimpan bingkai ukuran asli di/path/to/output/orig_size_frames direktori dan frame yang diubah ukurannya di/ke/ke/output/re_size_frames direktori. Bingkai yang diekstraksi akan disimpan dalam format jpeg, dengan nama file dari formulir my_video_1.jpg, my_video_2.jpg, dan sebagainya.
Atau Anda dapat mengedit file settings.py dan frame_extractor.py
akan menerima argumen dari sini.
Misalnya:
Edit pengaturan yang diperlukan di 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)
Jika Anda menemukan kode python saya membantu, pertimbangkan untuk memberikannya bintang.
Untuk masalah apa pun dengan aplikasi atau memiliki umpan balik atau saran untuk perbaikan. Harap angkat masalah
Ekstraktor bingkai video dilisensikan di bawah lisensi MIT. Lihat file lisensi untuk detailnya.