OpenCV  4.3.0
Open Source Computer Vision
Namespaces | Classes | Functions
cv::gapi Namespace Reference

Namespaces

 compound
 
 core
 
 cpu
 
 fluid
 
 ie
 
 imgproc
 
 ocl
 
 own
 
 plaidml
 
 render
 
 wip
 

Classes

class  GBackend
 
class  GFunctor
 
class  GKernelPackage
 A container class for heterogeneous kernel implementation collections and graph transformations. More...
 
struct  GNetPackage
 A container class for network configurations. Similar to GKernelPackage.Use cv::gapi::networks() to construct this object. More...
 
struct  GNetParam
 
struct  use_only
 cv::use_only() is a special combinator which hints G-API to use only kernels specified in cv::GComputation::compile() (and not to extend kernels available by default with that package). More...
 

Functions

GMat absDiff (const GMat &src1, const GMat &src2)
 Calculates the per-element absolute difference between two matrices. More...
 
GMat absDiffC (const GMat &src, const GScalar &c)
 Calculates absolute value of matrix elements. More...
 
GMat add (const GMat &src1, const GMat &src2, int ddepth=-1)
 Calculates the per-element sum of two matrices. More...
 
GMat addC (const GMat &src1, const GScalar &c, int ddepth=-1)
 Calculates the per-element sum of matrix and given scalar. More...
 
GMat addC (const GScalar &c, const GMat &src1, int ddepth=-1)
 
GMat addWeighted (const GMat &src1, double alpha, const GMat &src2, double beta, double gamma, int ddepth=-1)
 Calculates the weighted sum of two matrices. More...
 
GMat BayerGR2RGB (const GMat &src_gr)
 Converts an image from BayerGR color space to RGB. The function converts an input image from BayerGR color space to RGB. The conventional ranges for G, R, and B channel values are 0 to 255. More...
 
GMat BGR2Gray (const GMat &src)
 Converts an image from BGR color space to gray-scaled. The conventional ranges for B, G, and R channel values are 0 to 255. Resulting gray color value computed as

\[\texttt{dst} (I)= \texttt{0.114} * \texttt{src}(I).B + \texttt{0.587} * \texttt{src}(I).G + \texttt{0.299} * \texttt{src}(I).R \]

. More...

 
GMat BGR2LUV (const GMat &src)
 Converts an image from BGR color space to LUV color space. More...
 
GMat BGR2YUV (const GMat &src)
 Converts an image from BGR color space to YUV color space. More...
 
GMat bitwise_and (const GMat &src1, const GMat &src2)
 computes bitwise conjunction of the two matrixes (src1 & src2) Calculates the per-element bit-wise logical conjunction of two matrices of the same size. More...
 
GMat bitwise_and (const GMat &src1, const GScalar &src2)
 
GMat bitwise_not (const GMat &src)
 Inverts every bit of an array. The function bitwise_not calculates per-element bit-wise inversion of the input matrix:

\[\texttt{dst} (I) = \neg \texttt{src} (I)\]

. More...

 
GMat bitwise_or (const GMat &src1, const GMat &src2)
 computes bitwise disjunction of the two matrixes (src1 | src2) Calculates the per-element bit-wise logical disjunction of two matrices of the same size. More...
 
GMat bitwise_or (const GMat &src1, const GScalar &src2)
 
GMat bitwise_xor (const GMat &src1, const GMat &src2)
 computes bitwise logical "exclusive or" of the two matrixes (src1 ^ src2) Calculates the per-element bit-wise logical "exclusive or" of two matrices of the same size. More...
 
GMat bitwise_xor (const GMat &src1, const GScalar &src2)
 
GMat blur (const GMat &src, const Size &ksize, const Point &anchor=Point(-1,-1), int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 Blurs an image using the normalized box filter. More...
 
GMat boxFilter (const GMat &src, int dtype, const Size &ksize, const Point &anchor=Point(-1,-1), bool normalize=true, int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 Blurs an image using the box filter. More...
 
GMat Canny (const GMat &image, double threshold1, double threshold2, int apertureSize=3, bool L2gradient=false)
 Finds edges in an image using the Canny algorithm. More...
 
std::tuple< GMat, GMatcartToPolar (const GMat &x, const GMat &y, bool angleInDegrees=false)
 Calculates the magnitude and angle of 2D vectors. More...
 
GMat cmpEQ (const GMat &src1, const GMat &src2)
 Performs the per-element comparison of two matrices checking if elements from first matrix are equal to elements in second. More...
 
GMat cmpEQ (const GMat &src1, const GScalar &src2)
 
GMat cmpGE (const GMat &src1, const GMat &src2)
 Performs the per-element comparison of two matrices checking if elements from first matrix are greater or equal compare to elements in second. More...
 
GMat cmpGE (const GMat &src1, const GScalar &src2)
 
GMat cmpGT (const GMat &src1, const GMat &src2)
 Performs the per-element comparison of two matrices checking if elements from first matrix are greater compare to elements in second. More...
 
GMat cmpGT (const GMat &src1, const GScalar &src2)
 
GMat cmpLE (const GMat &src1, const GMat &src2)
 Performs the per-element comparison of two matrices checking if elements from first matrix are less or equal compare to elements in second. More...
 
GMat cmpLE (const GMat &src1, const GScalar &src2)
 
GMat cmpLT (const GMat &src1, const GMat &src2)
 Performs the per-element comparison of two matrices checking if elements from first matrix are less than elements in second. More...
 
GMat cmpLT (const GMat &src1, const GScalar &src2)
 
GMat cmpNE (const GMat &src1, const GMat &src2)
 Performs the per-element comparison of two matrices checking if elements from first matrix are not equal to elements in second. More...
 
GMat cmpNE (const GMat &src1, const GScalar &src2)
 
GKernelPackage combine (const GKernelPackage &lhs, const GKernelPackage &rhs)
 
template<typename... Ps>
GKernelPackage combine (const GKernelPackage &a, const GKernelPackage &b, Ps &&... rest)
 Combines multiple G-API kernel packages into one. More...
 
GMat concatHor (const GMat &src1, const GMat &src2)
 Applies horizontal concatenation to given matrices. More...
 
GMat concatHor (const std::vector< GMat > &v)
 
GMat concatVert (const GMat &src1, const GMat &src2)
 Applies vertical concatenation to given matrices. More...
 
GMat concatVert (const std::vector< GMat > &v)
 
GMat convertTo (const GMat &src, int rdepth, double alpha=1, double beta=0)
 Converts a matrix to another data depth with optional scaling. More...
 
GMat copy (const GMat &src)
 Copies a matrix. More...
 
GMat crop (const GMat &src, const Rect &rect)
 Crops a 2D matrix. More...
 
GMat dilate (const GMat &src, const Mat &kernel, const Point &anchor=Point(-1,-1), int iterations=1, int borderType=BORDER_CONSTANT, const Scalar &borderValue=morphologyDefaultBorderValue())
 Dilates an image by using a specific structuring element. More...
 
GMat dilate3x3 (const GMat &src, int iterations=1, int borderType=BORDER_CONSTANT, const Scalar &borderValue=morphologyDefaultBorderValue())
 Dilates an image by using 3 by 3 rectangular structuring element. More...
 
GMat div (const GMat &src1, const GMat &src2, double scale, int ddepth=-1)
 Performs per-element division of two matrices. More...
 
GMat divC (const GMat &src, const GScalar &divisor, double scale, int ddepth=-1)
 Divides matrix by scalar. More...
 
GMat divRC (const GScalar &divident, const GMat &src, double scale, int ddepth=-1)
 Divides scalar by matrix. More...
 
GMat equalizeHist (const GMat &src)
 Equalizes the histogram of a grayscale image. More...
 
GMat erode (const GMat &src, const Mat &kernel, const Point &anchor=Point(-1,-1), int iterations=1, int borderType=BORDER_CONSTANT, const Scalar &borderValue=morphologyDefaultBorderValue())
 Erodes an image by using a specific structuring element. More...
 
GMat erode3x3 (const GMat &src, int iterations=1, int borderType=BORDER_CONSTANT, const Scalar &borderValue=morphologyDefaultBorderValue())
 Erodes an image by using 3 by 3 rectangular structuring element. More...
 
GMat filter2D (const GMat &src, int ddepth, const Mat &kernel, const Point &anchor=Point(-1,-1), const Scalar &delta=Scalar(0), int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 Convolves an image with the kernel. More...
 
GMat flip (const GMat &src, int flipCode)
 Flips a 2D matrix around vertical, horizontal, or both axes. More...
 
GMat gaussianBlur (const GMat &src, const Size &ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 Blurs an image using a Gaussian filter. More...
 
template<typename Net , typename... Args>
Net::ResultL infer (cv::GArray< cv::Rect > roi, Args &&... args)
 Calculates responses for the specified network (template parameter) for every region in the source image. More...
 
template<typename Net , typename... Args>
Net::Result infer (Args &&... args)
 Calculates response for the specified network (template parameter) given the input data. More...
 
GMat inRange (const GMat &src, const GScalar &threshLow, const GScalar &threshUp)
 Applies a range-level threshold to each matrix element. More...
 
std::tuple< GMat, GMatintegral (const GMat &src, int sdepth=-1, int sqdepth=-1)
 Calculates the integral of an image. More...
 
void island (const std::string &name, GProtoInputArgs &&ins, GProtoOutputArgs &&outs)
 Define an tagged island (subgraph) within a computation. More...
 
template<typename... KK>
GKernelPackage kernels ()
 Create a kernel package object containing kernels and transformations specified in variadic template argument. More...
 
template<typename... FF>
GKernelPackage kernels (FF &... functors)
 
GMat LUT (const GMat &src, const Mat &lut)
 Performs a look-up table transform of a matrix. More...
 
GMat LUV2BGR (const GMat &src)
 Converts an image from LUV color space to BGR color space. More...
 
GMat mask (const GMat &src, const GMat &mask)
 Applies a mask to a matrix. More...
 
GMat max (const GMat &src1, const GMat &src2)
 Calculates per-element maximum of two matrices. More...
 
GScalar mean (const GMat &src)
 Calculates an average (mean) of matrix elements. More...
 
GMat medianBlur (const GMat &src, int ksize)
 Blurs an image using the median filter. More...
 
GMat merge3 (const GMat &src1, const GMat &src2, const GMat &src3)
 
GMat merge4 (const GMat &src1, const GMat &src2, const GMat &src3, const GMat &src4)
 Creates one 3-channel (4-channel) matrix out of 3(4) single-channel ones. More...
 
GMat min (const GMat &src1, const GMat &src2)
 Calculates per-element minimum of two matrices. More...
 
GMat mul (const GMat &src1, const GMat &src2, double scale=1.0, int ddepth=-1)
 Calculates the per-element scaled product of two matrices. More...
 
GMat mulC (const GMat &src, double multiplier, int ddepth=-1)
 Multiplies matrix by scalar. More...
 
GMat mulC (const GMat &src, const GScalar &multiplier, int ddepth=-1)
 
GMat mulC (const GScalar &multiplier, const GMat &src, int ddepth=-1)
 
template<typename... Args>
cv::gapi::GNetPackage networks (Args &&... args)
 
GMat normalize (const GMat &src, double alpha, double beta, int norm_type, int ddepth=-1)
 Normalizes the norm or value range of an array. More...
 
GScalar normInf (const GMat &src)
 Calculates the absolute infinite norm of a matrix. More...
 
GScalar normL1 (const GMat &src)
 Calculates the absolute L1 norm of a matrix. More...
 
GScalar normL2 (const GMat &src)
 Calculates the absolute L2 norm of a matrix. More...
 
GMat NV12toBGR (const GMat &src_y, const GMat &src_uv)
 Converts an image from NV12 (YUV420p) color space to BGR. The function converts an input image from NV12 color space to RGB. The conventional ranges for Y, U, and V channel values are 0 to 255. More...
 
GMatP NV12toBGRp (const GMat &src_y, const GMat &src_uv)
 Converts an image from NV12 (YUV420p) color space to BGR. The function converts an input image from NV12 color space to BGR. The conventional ranges for Y, U, and V channel values are 0 to 255. More...
 
GMat NV12toGray (const GMat &src_y, const GMat &src_uv)
 Converts an image from NV12 (YUV420p) color space to gray-scaled. The function converts an input image from NV12 color space to gray-scaled. The conventional ranges for Y, U, and V channel values are 0 to 255. More...
 
GMat NV12toRGB (const GMat &src_y, const GMat &src_uv)
 Converts an image from NV12 (YUV420p) color space to RGB. The function converts an input image from NV12 color space to RGB. The conventional ranges for Y, U, and V channel values are 0 to 255. More...
 
GMatP NV12toRGBp (const GMat &src_y, const GMat &src_uv)
 Converts an image from NV12 (YUV420p) color space to RGB. The function converts an input image from NV12 color space to RGB. The conventional ranges for Y, U, and V channel values are 0 to 255. More...
 
bool operator!= (const GBackend &lhs, const GBackend &rhs)
 
GMat phase (const GMat &x, const GMat &y, bool angleInDegrees=false)
 Calculates the rotation angle of 2D vectors. More...
 
std::tuple< GMat, GMatpolarToCart (const GMat &magnitude, const GMat &angle, bool angleInDegrees=false)
 Calculates x and y coordinates of 2D vectors from their magnitude and angle. More...
 
GMat remap (const GMat &src, const Mat &map1, const Mat &map2, int interpolation, int borderMode=BORDER_CONSTANT, const Scalar &borderValue=Scalar())
 Applies a generic geometrical transformation to an image. More...
 
GMat resize (const GMat &src, const Size &dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR)
 Resizes an image. More...
 
GMatP resizeP (const GMatP &src, const Size &dsize, int interpolation=cv::INTER_LINEAR)
 Resizes a planar image. More...
 
GMat RGB2Gray (const GMat &src)
 Converts an image from RGB color space to gray-scaled. The conventional ranges for R, G, and B channel values are 0 to 255. Resulting gray color value computed as

\[\texttt{dst} (I)= \texttt{0.299} * \texttt{src}(I).R + \texttt{0.587} * \texttt{src}(I).G + \texttt{0.114} * \texttt{src}(I).B \]

. More...

 
GMat RGB2Gray (const GMat &src, float rY, float gY, float bY)
 
GMat RGB2HSV (const GMat &src)
 Converts an image from RGB color space to HSV. The function converts an input image from RGB color space to HSV. The conventional ranges for R, G, and B channel values are 0 to 255. More...
 
GMat RGB2Lab (const GMat &src)
 Converts an image from RGB color space to Lab color space. More...
 
GMat RGB2YUV (const GMat &src)
 Converts an image from RGB color space to YUV color space. More...
 
GMat RGB2YUV422 (const GMat &src)
 Converts an image from RGB color space to YUV422. The function converts an input image from RGB color space to YUV422. The conventional ranges for R, G, and B channel values are 0 to 255. More...
 
GMat select (const GMat &src1, const GMat &src2, const GMat &mask)
 Select values from either first or second of input matrices by given mask. The function set to the output matrix either the value from the first input matrix if corresponding value of mask matrix is 255, or value from the second input matrix (if value of mask matrix set to 0). More...
 
GMat sepFilter (const GMat &src, int ddepth, const Mat &kernelX, const Mat &kernelY, const Point &anchor, const Scalar &delta, int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 Applies a separable linear filter to a matrix(image). More...
 
GMat Sobel (const GMat &src, int ddepth, int dx, int dy, int ksize=3, double scale=1, double delta=0, int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 Calculates the first, second, third, or mixed image derivatives using an extended Sobel operator. More...
 
std::tuple< GMat, GMatSobelXY (const GMat &src, int ddepth, int order, int ksize=3, double scale=1, double delta=0, int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 Calculates the first, second, third, or mixed image derivatives using an extended Sobel operator. More...
 
std::tuple< GMat, GMat, GMatsplit3 (const GMat &src)
 
std::tuple< GMat, GMat, GMat, GMatsplit4 (const GMat &src)
 Divides a 3-channel (4-channel) matrix into 3(4) single-channel matrices. More...
 
GMat sqrt (const GMat &src)
 Calculates a square root of array elements. More...
 
GMat sub (const GMat &src1, const GMat &src2, int ddepth=-1)
 Calculates the per-element difference between two matrices. More...
 
GMat subC (const GMat &src, const GScalar &c, int ddepth=-1)
 Calculates the per-element difference between matrix and given scalar. More...
 
GMat subRC (const GScalar &c, const GMat &src, int ddepth=-1)
 Calculates the per-element difference between given scalar and the matrix. More...
 
GScalar sum (const GMat &src)
 Calculates sum of all matrix elements. More...
 
GMat threshold (const GMat &src, const GScalar &thresh, const GScalar &maxval, int type)
 Applies a fixed-level threshold to each matrix element. More...
 
std::tuple< GMat, GScalarthreshold (const GMat &src, const GScalar &maxval, int type)
 
GMat warpAffine (const GMat &src, const Mat &M, const Size &dsize, int flags=cv::INTER_LINEAR, int borderMode=cv::BORDER_CONSTANT, const Scalar &borderValue=Scalar())
 Applies an affine transformation to an image. More...
 
GMat warpPerspective (const GMat &src, const Mat &M, const Size &dsize, int flags=cv::INTER_LINEAR, int borderMode=cv::BORDER_CONSTANT, const Scalar &borderValue=Scalar())
 Applies a perspective transformation to an image. More...
 
GMat YUV2BGR (const GMat &src)
 Converts an image from YUV color space to BGR color space. More...
 
GMat YUV2RGB (const GMat &src)
 Converts an image from YUV color space to RGB. The function converts an input image from YUV color space to RGB. The conventional ranges for Y, U, and V channel values are 0 to 255. More...
 

Function Documentation

◆ combine() [1/2]

GKernelPackage cv::gapi::combine ( const GKernelPackage lhs,
const GKernelPackage rhs 
)
Parameters
lhs"Left-hand-side" package in the process
rhs"Right-hand-side" package in the process
Returns
a new kernel package.

◆ combine() [2/2]

template<typename... Ps>
GKernelPackage cv::gapi::combine ( const GKernelPackage a,
const GKernelPackage b,
Ps &&...  rest 
)

Combines multiple G-API kernel packages into one.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

This function successively combines the passed kernel packages using a right fold. Calling combine(a, b, c) is equal to combine(a, combine(b, c)).

Returns
The resulting kernel package

◆ infer() [1/2]

template<typename Net , typename... Args>
Net::ResultL cv::gapi::infer ( cv::GArray< cv::Rect roi,
Args &&...  args 
)

Calculates responses for the specified network (template parameter) for every region in the source image.

Template Parameters
Anetwork type defined with G_API_NET() macro.
Parameters
roia list of rectangles describing regions of interest in the source image. Usually an output of object detector or tracker.
argsnetwork's input parameters as specified in G_API_NET() macro. NOTE: verified to work reliably with 1-input topologies only.
Returns
a list of objects of return type as defined in G_API_NET(). If a network has multiple return values (defined with a tuple), a tuple of GArray<> objects is returned with the appropriate types inside.
See also
G_API_NET()

◆ infer() [2/2]

template<typename Net , typename... Args>
Net::Result cv::gapi::infer ( Args &&...  args)

Calculates response for the specified network (template parameter) given the input data.

Template Parameters
Anetwork type defined with G_API_NET() macro.
Parameters
argsnetwork's input parameters as specified in G_API_NET() macro.
Returns
an object of return type as defined in G_API_NET(). If a network has multiple return values (defined with a tuple), a tuple of objects of appropriate type is returned.
See also
G_API_NET()

◆ island()

void cv::gapi::island ( const std::string &  name,
GProtoInputArgs &&  ins,
GProtoOutputArgs &&  outs 
)

Define an tagged island (subgraph) within a computation.

Declare an Island tagged with name and defined from ins to outs (exclusively, as ins/outs are data objects, and regioning is done on operations level). Throws if any operation between ins and outs are already assigned to another island.

Islands allow to partition graph into subgraphs, fine-tuning the way it is scheduled by the underlying executor.

Parameters
namename of the Island to create
insvector of input data objects where the subgraph begins
outsvector of output data objects where the subgraph ends.

The way how an island is defined is similar to how cv::GComputation is defined on input/output data objects. Same rules apply here as well – if there's no functional dependency between inputs and outputs or there's not enough input data objects were specified to properly calculate all outputs, an exception is thrown.

Use cv::GIn() / cv::GOut() to specify input/output vectors.

◆ networks()

template<typename... Args>
cv::gapi::GNetPackage cv::gapi::networks ( Args &&...  args)

◆ operator!=()

bool cv::gapi::operator!= ( const GBackend lhs,
const GBackend rhs 
)
inline