Core Operations on Matrices

Overview

// classes

class cv::cuda::LookUpTable;

// global functions

void
cv::cuda::copyMakeBorder(
    InputArray src,
    OutputArray dst,
    int top,
    int bottom,
    int left,
    int right,
    int borderType,
    Scalar value = Scalar(),
    Stream& stream = Stream::Null()
    );

Ptr<LookUpTable>
cv::cuda::createLookUpTable(InputArray lut);

void
cv::cuda::flip(
    InputArray src,
    OutputArray dst,
    int flipCode,
    Stream& stream = Stream::Null()
    );

void
cv::cuda::merge(
    const GpuMat* src,
    size_t n,
    OutputArray dst,
    Stream& stream = Stream::Null()
    );

void
cv::cuda::merge(
    const std::vector<GpuMat>& src,
    OutputArray dst,
    Stream& stream = Stream::Null()
    );

void
cv::cuda::split(
    InputArray src,
    GpuMat* dst,
    Stream& stream = Stream::Null()
    );

void
cv::cuda::split(
    InputArray src,
    std::vector<GpuMat>& dst,
    Stream& stream = Stream::Null()
    );

void
cv::cuda::transpose(
    InputArray src1,
    OutputArray dst,
    Stream& stream = Stream::Null()
    );

Detailed Documentation

Global Functions

void
cv::cuda::copyMakeBorder(
    InputArray src,
    OutputArray dst,
    int top,
    int bottom,
    int left,
    int right,
    int borderType,
    Scalar value = Scalar(),
    Stream& stream = Stream::Null()
    )

Forms a border around an image.

Parameters:

src Source image. CV_8UC1 , CV_8UC4 , CV_32SC1 , and CV_32FC1 types are supported.
dst Destination image with the same type as src. The size is Size(src.cols+left+right, src.rows+top+bottom) .
top  
bottom  
left  
right Number of pixels in each direction from the source image rectangle to extrapolate. For example: top=1, bottom=1, left=1, right=1 mean that 1 pixel-wide border needs to be built.
borderType Border type. See borderInterpolate for details. BORDER_REFLECT101 , BORDER_REPLICATE , BORDER_CONSTANT , BORDER_REFLECT and BORDER_WRAP are supported for now.
value Border value.
stream Stream for the asynchronous version.
Ptr<LookUpTable>
cv::cuda::createLookUpTable(InputArray lut)

Creates implementation for cuda::LookUpTable.

Parameters:

lut Look-up table of 256 elements. It is a continuous CV_8U matrix.
void
cv::cuda::flip(
    InputArray src,
    OutputArray dst,
    int flipCode,
    Stream& stream = Stream::Null()
    )

Flips a 2D matrix around vertical, horizontal, or both axes.

Parameters:

src Source matrix. Supports 1, 3 and 4 channels images with CV_8U, CV_16U, CV_32S or CV_32F depth.
dst Destination matrix.
flipCode

Flip mode for the source:

  • 0 Flips around x-axis.
  • > 0 Flips around y-axis.
  • < 0 Flips around both axes.
stream Stream for the asynchronous version.

See also:

flip

void
cv::cuda::merge(
    const GpuMat* src,
    size_t n,
    OutputArray dst,
    Stream& stream = Stream::Null()
    )

Makes a multi-channel matrix out of several single-channel matrices.

Parameters:

src Array/vector of source matrices.
n Number of source matrices.
dst Destination matrix.
stream Stream for the asynchronous version.

See also:

merge

void
cv::cuda::merge(
    const std::vector<GpuMat>& src,
    OutputArray dst,
    Stream& stream = Stream::Null()
    )

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

void
cv::cuda::split(
    InputArray src,
    GpuMat* dst,
    Stream& stream = Stream::Null()
    )

Copies each plane of a multi-channel matrix into an array.

Parameters:

src Source matrix.
dst Destination array/vector of single-channel matrices.
stream Stream for the asynchronous version.

See also:

split

void
cv::cuda::split(
    InputArray src,
    std::vector<GpuMat>& dst,
    Stream& stream = Stream::Null()
    )

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

void
cv::cuda::transpose(
    InputArray src1,
    OutputArray dst,
    Stream& stream = Stream::Null()
    )

Transposes a matrix.

Parameters:

src1 Source matrix. 1-, 4-, 8-byte element sizes are supported for now.
dst Destination matrix.
stream Stream for the asynchronous version.

See also:

transpose