OpenCV: Core Operations on Matrices

| OpenCV 3.4.2 Open Source Computer Vision

Classes | Functions
Core Operations on Matrices
Core functionality » OpenGL interoperability » CUDA-accelerated Computer Vision » Operations on Matrices

## Classes
class | cv::cuda::LookUpTable
| Base class for transform using lookup table. More...

## 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. More...
Ptr< LookUpTable > | cv::cuda::createLookUpTable (InputArray lut)
| Creates implementation for cuda::LookUpTable . More...
void | cv::cuda::flip (InputArray src, OutputArray dst, int flipCode, Stream &stream=Stream::Null())
| Flips a 2D matrix around vertical, horizontal, or both axes. More...
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. More...
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())
| Copies each plane of a multi-channel matrix into an array. More...
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())
| Transposes a matrix. More...

## Detailed Description

## Function Documentation

## ◆ copyMakeBorder()

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.

## ◆ createLookUpTable()

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.

## ◆ flip()

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

## ◆ merge() [1/2]

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

## ◆ merge() [2/2]

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.

## ◆ split() [1/2]

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

## ◆ split() [2/2]

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.

## ◆ transpose()

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