Struct cv::Animation#
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.
#include <opencv2/imgcodecs.hpp>Collaboration diagram for cv::Animation:
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.
Constructor & Destructor Documentation#
Animation()#
cv::Animation::Animation(
int loopCount = 0,
Scalar bgColor = Scalar() )
Python:
Constructs an Animation object with optional loop count and background color.
Parameters
loopCount— An 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 to0(infinite looping) to maintain valid bounds.
bgColor— AScalarobject 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.
frames#
std::vector< Mat > cv::Animation::frames
Vector of frames, where each Mat represents a single frame.
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.
(GIF) See https://issues.chromium.org/issues/40459899 And animated GIF with loop is extended with the Netscape Application Block(NAB), which it not a part of GIF89a specification. See https://en.wikipedia.org/wiki/GIF#Animated_GIF .
(WebP) See https://issues.chromium.org/issues/41276895
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).
Source file#
The documentation for this struct was generated from the following file:
opencv2/imgcodecs.hpp