Skip to main content

Optical Flow file wizard

Project description

flowiz

Converts Optical Flow [.flo] files to images [.png] and optionally compiles them to a video [.mp4] via ffmpeg

Installation

Grab the latest package from PyPI repo

pip install flowiz -U

or grab it straight from Github

pip install git+https://github.com/georgegach/flowiz/

or clone the repo and install using setup.py

git clone https://github.com/georgegach/flowiz.git
cd flowiz
python setup.py install --user

Usage

Package can be used both from the command line and python script.

Command line usage

The following script grabs .flo files from ./demo/flo/ directory and converts into .png saving in the same directory

python -m flowiz demo/flo/*.flo 

You can pass output directory for .png images via -o or --outdir parameter

python -m flowiz demo/flo/*.flo --outdir demo/png/

You may compile converted .png images into a 24 fps .mp4 clip by passing -v or --videodir parameter with a video output directory (without a filename)

python -m flowiz demo/flo/*.flo -o demo/png --videodir demo/mp4

Pass -r or --framerate parameter to control the framerate of compiled video

python -m flowiz demo/flo/*.flo -o demo/png -v demo/mp4 --framerate 2

General usage

Relevant python code is available in demo/test.ipynb notebook. Here's an excerpt:

from flowiz import flowiz

f = flowiz()
files = glob.glob('demo/flo/*.flo')
img = f.convertFromFile(files[0])
plt.imshow(img)

Image

Help

python -m flowiz -h
usage: __main__.py [-h] [--outdir OUTDIR] [--videodir VIDEODIR]
                   [--framerate FRAMERATE]
                   input [input ...]

positional arguments:
  input                 Input file(s). (e.g.: __ ./demo/flo/*.flo)

optional arguments:
  -h, --help            show this help message and exit
  --outdir OUTDIR, -o OUTDIR
                        Output directory path. Default: same directory as
                        [.flo] files. (e.g.: __ -o ./demo/png/)
  --videodir VIDEODIR, -v VIDEODIR
                        Compiles [.mp4] video from [.png] images if parameter
                        is passed. Parameter requires video output directory
                        path without a filename. (e.g.: __ -v ./demo/mp4/)
  --framerate FRAMERATE, -r FRAMERATE
                        Frames per second of the video. (e.g.: __ -r 2)

Requirements

Make sure you have following packages installed

pip install numpy tqdm pillow

Acknowledgements

The library is based on Midlebury's Vision Project MATLAB code: http://vision.middlebury.edu/flow/
Original credits to Daniel Scharstein (C++) and Deqing Sun (MATLAB)

FAQ

Q: What kind of name is flowiz
A: The kind you choose when flowkit, flowtools, flowlib is already taken.

To-Do

  • Ported
  • Version 1.0 + pip
  • Standalone PNG packaging (remove pillow dependency)
  • Standalone MP4 compiler (remove ffmpeg dependency)

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

flowiz-1.0.3.tar.gz (5.9 kB view hashes)

Uploaded Source

Built Distribution

flowiz-1.0.3-py3-none-any.whl (7.3 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