pub struct GFrame { /* private fields */ }
Expand description
\addtogroup gapi_data_objects /
GFrame class represents an image or media frame in the graph.
GFrame doesn’t store any data itself, instead it describes a functional relationship between operations consuming and producing GFrame objects.
GFrame is introduced to handle various media formats (e.g., NV12 or
I420) under the same type. Various image formats may differ in the
number of planes (e.g. two for NV12, three for I420) and the pixel
layout inside. GFrame type allows to handle these media formats in
the graph uniformly – the graph structure will not change if the
media format changes, e.g. a different camera or decoder is used
with the same graph. G-API provides a number of operations which
operate directly on GFrame, like infer<>()
or
renderFrame(); these operations are expected to handle different
media formats inside. There is also a number of accessor
operations like BGR(), Y(), UV() – these operations provide
access to frame’s data in the familiar cv::GMat form, which can be
used with the majority of the existing G-API operations. These
accessor functions may perform color space conversion on the fly if
the image format of the GFrame they are applied to differs from the
operation’s semantic (e.g. the BGR() accessor is called on an NV12
image frame).
GFrame is a virtual counterpart of cv::MediaFrame.
See also
cv::MediaFrame, cv::GFrameDesc, BGR(), Y(), UV(), infer<>().