Skip to main content

Video 2 Image converter

Project description

License: MIT PyPI Open Source? Yes! Python3 made-with-python install

DOI

About

A library that helps to convert volumetric video data into image frames with adjustable frame capturing rate functionality.

The main reason why I created this library is to ease the video to image frames conversion process. During video annotation we need frames of an video or a subpart of a video and that too custom frame capture rate, so this problems led to this library development.

How to install?

pip install video2images

Requirements

It will be automatically installed

  • tqdm, imageio, imageio-ffmpeg, moviepy

Class Object Argument Description

Argument Description
video_filepath source path of the video
start_time Default is None i.e 0s will be considered
end_time Default is None i.e till last duration will be
considered
capture_rate No. of frames you want to capture per second.
For e.g if my capture_rate= 20 then only first 20
frames will captured out of input Frames per second rate
save_format Output frame image extension. By default ".jpg"
out_dir Output directory for saving images. If not specified
a folder will be made in current directory and saved

Note:- The capture_rate if not specified will consider the original video frames per second rate

Frame Capture Rate Explaination

Valid Extensions

For Video

  • .mov
  • .avi
  • .mpg
  • .mpeg
  • .mp4
  • .mkv
  • .wmv

For Image

  • .jpg, .jpeg
  • .png
  • .bmp
  • .tiff, .tif
  • .dicom, .dcm

How to use?

Minimal setting (Basic)

from video2images import Video2Images


Video2Images(video_filepath="--path-to-video-file--",
             out_dir="--path-to-output-directory--")

Want to capture frames in between some interval

from video2images import Video2Images


# Lets take start_time to be 2mins i.e 120s
# & end_time to be 10 mins i,e 600s out of 20mins videos

Video2Images(video_filepath="--path-to-video-file--",
             start_time=120,
             end_time=600,
             out_dir="--path-to-output-directory--")

Want only first 'f' frames out of 30 frames per second

from video2images import Video2Images


# Let say f = 20 i.e capturing only first 20 frames
Video2Images(video_filepath="--path-to-video-file--",
             capture_rate=20,
             out_dir="--path-to-output-directory--")

Want output image to be saved in png or other format

from video2images import Video2Images


Video2Images(video_filepath="--path-to-video-file--",
             save_format=".png",
             out_dir="--path-to-output-directory--")

From command line

We can convert video frames to images by using simple command line as follows

$video2images --video_filepath <input video filepath> \
--start_time <some integer number in seconds> \ 
--end_time <some integer number in seconds> \
--capture_rate <some integer capture rate> \
--save_format <any one image extension> \
--out_dir <output folder name where all images will be pushed>

Note:- The output will be saved in a folder named frames_folder_{timestamp}

Output Process Screenshot

Author

I will be happy to connect with you guys!!

Linkedin

Twitter

Citation

@software{abhishek_c_salian_2020_4384148,
  author       = {Abhishek C. Salian},
  title        = {Video2Images: A python library for video frames extraction for video annotation based task},
  month        = dec,
  year         = 2020,
  publisher    = {Zenodo},
  version      = {v1.1},
  doi          = {10.5281/zenodo.4384147},
  url          = {http://doi.org/10.5281/zenodo.4384147}
}

Any suggestions are most welcome.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

video2images-1.3.tar.gz (7.2 kB view hashes)

Uploaded Source

Built Distribution

video2images-1.3-py3-none-any.whl (7.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page