Skip to content

GFrame

gapiclassOpenCV 5.0.0
import { GFrame } from '@banou/opencv-wasm'

Use after await initOpenCV(). See the initialization and named imports guide.

ARGUMENTSConstructor or factory
CLASSGFrame
RETURN TYPEOwned native handle
Call structure. A void return can still write to destination arguments. The parameter descriptions define inputs, outputs and ownership.

Native object: release it with using or delete(). Factories can return null; check before calling methods.

\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: cv::MediaFrame, cv::GFrameDesc, BGR(), Y(), UV(), infer<>().

Constructors and members

static new

Constructs an empty GFrame

Normally, empty G-API data objects denote a starting point of the graph. When an empty GFrame is assigned to a result of some operation, it obtains a functional link to this operation (and is not empty anymore).

new(): GFrame;
Returns

The GFrame result. Release returned native handles with using or delete(), including handles nested in results.

clone

Create another handle to the same native object. This retains the object without copying its pixels or algorithm state; dispose both handles separately.

clone(): this;
Returns

The this result.

These signatures describe this package. Upstream documentation can mention optional backends that are absent from this build. Check runtime compatibility before choosing a backend or file format.