OpenCV 4.13.0-dev
Open Source Computer Vision
Loading...
Searching...
No Matches
cv::Animation Struct Reference

Represents an animation with multiple frames. The Animation struct is designed to store and manage data for animated sequences such as those from animated formats (e.g., GIF, AVIF, APNG, WebP). It provides support for looping, background color settings, frame timing, and frame storage. More...

#include <opencv2/imgcodecs.hpp>

Collaboration diagram for cv::Animation:

Public Member Functions

 Animation (int loopCount=0, Scalar bgColor=Scalar())
 Constructs an Animation object with optional loop count and background color.
 

Public Attributes

Scalar bgcolor
 Background color of the animation in BGRA format.
 
std::vector< int > durations
 Duration for each frame in milliseconds.
 
std::vector< Matframes
 Vector of frames, where each Mat represents a single frame.
 
int loop_count
 Number of times the animation should loop. 0 means infinite looping.
 
Mat still_image
 image that can be used for the format in addition to the animation or if animation is not supported in the reader (like in PNG).
 

Detailed Description

Represents an animation with multiple frames. The Animation struct is designed to store and manage data for animated sequences such as those from animated formats (e.g., GIF, AVIF, APNG, WebP). It provides support for looping, background color settings, frame timing, and frame storage.

Examples
samples/cpp/tutorial_code/imgcodecs/animations.cpp.

Constructor & Destructor Documentation

◆ Animation()

cv::Animation::Animation ( int loopCount = 0,
Scalar bgColor = Scalar() )

Constructs an Animation object with optional loop count and background color.

Parameters
loopCountAn integer representing the number of times the animation should loop:
  • 0 (default) indicates infinite looping, meaning the animation will replay continuously.
  • Positive values denote finite repeat counts, allowing the animation to play a limited number of times.
  • If a negative value or a value beyond the maximum of 0xffff (65535) is provided, it is reset to 0 (infinite looping) to maintain valid bounds.
bgColorA Scalar object representing the background color in BGR format:
  • Defaults to Scalar(), indicating an empty color (usually transparent if supported).
  • This background color provides a solid fill behind frames that have transparency, ensuring a consistent display appearance.

Member Data Documentation

◆ bgcolor

Scalar cv::Animation::bgcolor

Background color of the animation in BGRA format.

◆ durations

std::vector<int> cv::Animation::durations

Duration for each frame in milliseconds.

Note
(GIF) Due to file format limitation
  • Durations must be multiples of 10 milliseconds. Any provided value will be rounded down to the nearest 10ms (e.g., 88ms → 80ms).
  • 0ms(or smaller than expected in user application) duration may cause undefined behavior, e.g. it is handled with default duration.
  • Over 65535 * 10 milliseconds duration is not supported.
Examples
samples/cpp/tutorial_code/imgcodecs/animations.cpp.

◆ frames

std::vector<Mat> cv::Animation::frames

Vector of frames, where each Mat represents a single frame.

Examples
samples/cpp/tutorial_code/imgcodecs/animations.cpp.

◆ loop_count

int cv::Animation::loop_count

Number of times the animation should loop. 0 means infinite looping.

Note
At some file format, when N is set, whether it is displayed N or N+1 times depends on the implementation of the user application. This loop times behaviour has not been documented clearly.

◆ still_image

Mat cv::Animation::still_image

image that can be used for the format in addition to the animation or if animation is not supported in the reader (like in PNG).


The documentation for this struct was generated from the following file: