noahtq / quest_image_seq_lib

C++ library for elegantly working with image sequences in OpenCV
0 stars 0 forks source link

Quest Image Sequence Library

Static library for elegantly handling and working with image sequences in C++

By far the most common way to work with videos in the commercial VFX industry is to write and read those videos as image sequences.

This library uses the OpenCV Mat object to represent images so it is easy to work with image sequences but you also retain all of the functionality that is offered by OpenCV.

As of version 0.1.0 the ImageSeq object automatically detects, opens, and works with multi frame or single frame image sequences (example_%04d.png), singular images (example.png), and video files (example.mov).

Current Version 0.1.0

Download

Apple Silicon M2 Static Library - 0.1.0

Tech Stack

Building and Using Library

Note that in order to run benchmarks you must follow the instructions here to build the Google_benchmark library for your own system.

Performance - Last updated for version 0.0.1

These performance measurements were made on an M2 Macbook Air using Google Benchmark.

Each benchmark was run with 4 iterations, meaning it was concurrently run on 4 different cores and the time was averaged between all of the iterations to get the benchmark times.

Reading an Image Sequence

Reading a 990 frame 1280x720 png image sequence

Rendering a 990 frame 1280x720 png image sequence

Supported Image/Video File Types

Image

Support for .exr and .dpx images is planned and will be coming in a future update

Video

Note: These are the currently supported video file formats and codecs but please note that if your system does not have the appropriate codec installed or does not support a specific file type, then that option will not work for you.