This project processes video files by averaging their frames to create a long exposure effect image. It supports common video formats and automatically organizes processed files.
- Supports .mp4, .avi, .mov, .mkv video files
- Averages all frames in a video to produce a single PNG image
- Moves processed videos to a
processed/directory - Saves output images to an
exposures/directory - Automatically creates required directories if they do not exist
- Place your video files in the project directory.
- Run the script:
python longexposure.py
- Find the resulting PNG images in the
exposures/folder. Processed videos are moved toprocessed/.
Below are sample images generated from a video, with explanations:
Shows the average brightness and color of each pixel across all frames. Looks like a long exposure photo.
Each pixel is set to the brightest value it reached in any frame.
Each pixel is set to the darkest value it reached in any frame.
Shows the difference between the brightest and darkest values for each pixel, highlighting areas with the most change.
Visualizes how much each pixel changed over time. Black means no change; colored areas show motion or variation.
These examples help you understand what each image represents in simple terms.
A GitHub Actions workflow is provided to build a standalone Windows executable using PyInstaller. The EXE can be downloaded from the GitHub Actions artifacts after a successful run.
- Python 3.8+
- opencv-python
- numpy
Install dependencies with:
pip install opencv-python numpyMIT License. See LICENSE file for details.