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:
|
stream | Stream for the asynchronous version. |
See also:
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:
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:
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: