All Projects â†’ kelvins â†’ long-exposure

kelvins / long-exposure

Licence: other
🎥 Creates a long exposure effect using Python and OpenCV

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Long exposure with OpenCV and Python

Build Status

This project creates long exposure-like images from an input video using Python and OpenCV. It computationally simulates the long exposure photography effect.

Long-exposure photography:

Long-exposure, time-exposure, or slow-shutter photography involves using a long-duration shutter speed to sharply capture the stationary elements of images while blurring, smearing, or obscuring the moving elements. Long-exposure photography captures one element that conventional photography does not: an extended period of time. The paths of bright moving objects become clearly visible. Clouds form broad bands, head and tail lights of cars draw bright streaks, stars leave trails in the sky, and water waves appear smoothened. Only bright objects will leave visible trails, whereas dark objects usually disappear. Boats in long exposures will disappear during daytime, but will draw bright trails from their lights at night.

Usage

The usage is very simple, we just need to call the script passing a desired operation (e.g. local-video), the video path, the output image path and the step (optional), for example:

$ python src/long_exposure.py local-video /home/user/videos/video.mp4 /home/user/images/long_exp.png -s 5

If you have doubts you can call for help:

python src/long_exposure.py --help

Environment

This project uses pipenv so to set up the environment you need to make sure you have pipenv installed and run the following commands to install the dependencies and activate the virtual environment:

pipenv install --dev
pipenv shell

Tests

We can run the tests using pytest directly or using the Makefile, for example:

make runtests

Input/Output

Input (video) Output (image)
Input Output
Input Output

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].