Image Warping#

Detailed Description#

Function Documentation#

buildWarpAffineMaps()#

void cv::cuda::buildWarpAffineMaps(
InputArray M,
bool inverse,
Size dsize,
OutputArray xmap,
OutputArray ymap,
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Builds transformation maps for affine transformation.

Parameters

  • M2x3 Mat or UMat transformation matrix.

  • inverse — Flag specifying that M is an inverse transformation ( dst=>src ).

  • dsize — Size of the destination image.

  • xmap — X values with CV_32FC1 type.

  • ymap — Y values with CV_32FC1 type.

  • streamStream for the asynchronous version.

buildWarpAffineMaps()#

void cv::cuda::buildWarpAffineMaps(
Mat M,
bool inverse,
Size dsize,
GpuMat & xmap,
GpuMat & ymap,
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Here is the call graph for this function:

cv::cuda::buildWarpAffineMaps Node1 cv::cuda::buildWarpAffineMaps Node2 cv::cuda::buildWarpAffineMaps Node1->Node2

cv::cuda::buildWarpAffineMaps Node1 cv::cuda::buildWarpAffineMaps Node2 cv::cuda::buildWarpAffineMaps Node1->Node2

buildWarpAffineMaps()#

void cv::cuda::buildWarpAffineMaps(
UMat M,
bool inverse,
Size dsize,
GpuMat & xmap,
GpuMat & ymap,
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Here is the call graph for this function:

cv::cuda::buildWarpAffineMaps Node1 cv::cuda::buildWarpAffineMaps Node2 cv::cuda::buildWarpAffineMaps Node1->Node2

cv::cuda::buildWarpAffineMaps Node1 cv::cuda::buildWarpAffineMaps Node2 cv::cuda::buildWarpAffineMaps Node1->Node2

buildWarpPerspectiveMaps()#

void cv::cuda::buildWarpPerspectiveMaps(
InputArray M,
bool inverse,
Size dsize,
OutputArray xmap,
OutputArray ymap,
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Builds transformation maps for perspective transformation.

Parameters

  • M3x3 Mat or UMat transformation matrix.

  • inverse — Flag specifying that M is an inverse transformation ( dst=>src ).

  • dsize — Size of the destination image.

  • xmap — X values with CV_32FC1 type.

  • ymap — Y values with CV_32FC1 type.

  • streamStream for the asynchronous version.

buildWarpPerspectiveMaps()#

void cv::cuda::buildWarpPerspectiveMaps(
Mat M,
bool inverse,
Size dsize,
GpuMat & xmap,
GpuMat & ymap,
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Here is the call graph for this function:

cv::cuda::buildWarpPerspectiveMaps Node1 cv::cuda::buildWarpPerspectiveMaps Node2 cv::cuda::buildWarpPerspectiveMaps Node1->Node2

cv::cuda::buildWarpPerspectiveMaps Node1 cv::cuda::buildWarpPerspectiveMaps Node2 cv::cuda::buildWarpPerspectiveMaps Node1->Node2

buildWarpPerspectiveMaps()#

void cv::cuda::buildWarpPerspectiveMaps(
UMat M,
bool inverse,
Size dsize,
GpuMat & xmap,
GpuMat & ymap,
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Here is the call graph for this function:

cv::cuda::buildWarpPerspectiveMaps Node1 cv::cuda::buildWarpPerspectiveMaps Node2 cv::cuda::buildWarpPerspectiveMaps Node1->Node2

cv::cuda::buildWarpPerspectiveMaps Node1 cv::cuda::buildWarpPerspectiveMaps Node2 cv::cuda::buildWarpPerspectiveMaps Node1->Node2

pyrDown()#

void cv::cuda::pyrDown(
InputArray src,
OutputArray dst,
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Smoothes an image and downsamples it.

See also

pyrDown

Parameters

  • src — Source image.

  • dst — Destination image. Will have Size((src.cols+1)/2, (src.rows+1)/2) size and the same type as src .

  • streamStream for the asynchronous version.

pyrUp()#

void cv::cuda::pyrUp(
InputArray src,
OutputArray dst,
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Upsamples an image and then smoothes it.

Parameters

  • src — Source image.

  • dst — Destination image. Will have Size(src.cols2, src.rows2) size and the same type as src .

  • streamStream for the asynchronous version.

remap()#

void cv::cuda::remap(
InputArray src,
OutputArray dst,
InputArray xmap,
InputArray ymap,
int interpolation,
int borderMode = BORDER_CONSTANT,
Scalar borderValue = Scalar(),
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Applies a generic geometrical transformation to an image.

The function transforms the source image using the specified map:

\[ \texttt{dst} (x,y) = \texttt{src} (xmap(x,y), ymap(x,y)) \]

with the WARP_RELATIVE_MAP flag :

\[ \texttt{dst} (x,y) = \texttt{src} (x+map_x(x,y),y+map_y(x,y)) \]

Values of pixels with non-integer coordinates are computed using the bilinear interpolation.

See also

remap

Parameters

  • src — Source image.

  • dst — Destination image with the size the same as xmap and the type the same as src .

  • xmap — X values. Only CV_32FC1 type is supported.

  • ymap — Y values. Only CV_32FC1 type is supported.

  • interpolation — Interpolation method (see resize ). INTER_NEAREST , INTER_LINEAR and INTER_CUBIC are supported for now. The extra flag WARP_RELATIVE_MAP can be ORed to the interpolation method (e.g. INTER_LINEAR | WARP_RELATIVE_MAP)

  • borderMode — Pixel extrapolation method (see borderInterpolate ). BORDER_REFLECT101 , BORDER_REPLICATE , BORDER_CONSTANT , BORDER_REFLECT and BORDER_WRAP are supported for now.

  • borderValue — Value used in case of a constant border. By default, it is 0.

  • streamStream for the asynchronous version.

resize()#

void cv::cuda::resize(
InputArray src,
OutputArray dst,
Size dsize,
double fx = 0,
double fy = 0,
int interpolation = INTER_LINEAR,
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Resizes an image.

See also

resize

Parameters

  • src — Source image.

  • dst — Destination image with the same type as src . The size is dsize (when it is non-zero) or the size is computed from src.size() , fx , and fy .

  • dsize — Destination image size. If it is zero, it is computed as:

    \[ \texttt{dsize = Size(round(fx*src.cols), round(fy*src.rows))} \]

    Either dsize or both fx and fy must be non-zero.

  • fx — Scale factor along the horizontal axis. If it is zero, it is computed as:

    \[ \texttt{(double)dsize.width/src.cols} \]
  • fy — Scale factor along the vertical axis. If it is zero, it is computed as:

    \[ \texttt{(double)dsize.height/src.rows} \]
  • interpolation — Interpolation method. INTER_NEAREST , INTER_LINEAR , INTER_CUBIC , and INTER_AREA are supported.

  • streamStream for the asynchronous version.

rotate()#

void cv::cuda::rotate(
InputArray src,
OutputArray dst,
Size dsize,
double angle,
double xShift = 0,
double yShift = 0,
int interpolation = INTER_LINEAR,
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Rotates an image around the origin (0,0) and then shifts it.

See also

cuda::warpAffine

Parameters

  • src — Source image. Supports 1, 3 or 4 channels images with CV_8U , CV_16U or CV_32F depth.

  • dst — Destination image with the same type as src . The size is dsize .

  • dsize — Size of the destination image.

  • angle — Angle of rotation in degrees.

  • xShift — Shift along the horizontal axis.

  • yShift — Shift along the vertical axis.

  • interpolation — Interpolation method. Only INTER_NEAREST , INTER_LINEAR , and INTER_CUBIC are supported.

  • streamStream for the asynchronous version.

warpAffine()#

void cv::cuda::warpAffine(
InputArray src,
OutputArray dst,
InputArray M,
Size dsize,
int flags = INTER_LINEAR,
int borderMode = BORDER_CONSTANT,
Scalar borderValue = Scalar(),
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Applies an affine transformation to an image.

Note

In-place operation is not supported. If src and dst refer to the same data, the behavior is undefined.

See also

warpAffine

Parameters

  • src — Source image. CV_8U , CV_16U , CV_32S , or CV_32F depth and 1, 3, or 4 channels are supported.

  • dst — Destination image with the same type as src . The size is dsize . In-place operation (src == dst) is not supported and will result in an error.**

  • M2x3 Mat or UMat transformation matrix.

  • dsize — Size of the destination image.

  • flags — Combination of interpolation methods (see resize) and the optional flag WARP_INVERSE_MAP specifying that M is an inverse transformation ( dst=>src ). Only INTER_NEAREST , INTER_LINEAR , and INTER_CUBIC interpolation methods are supported.

  • borderMode

  • borderValue

  • streamStream for the asynchronous version.

warpAffine()#

void cv::cuda::warpAffine(
InputArray src,
OutputArray dst,
Mat M,
Size dsize,
int flags = INTER_LINEAR,
int borderMode = BORDER_CONSTANT,
Scalar borderValue = Scalar(),
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Here is the call graph for this function:

cv::cuda::warpAffine Node1 cv::cuda::warpAffine Node2 cv::cuda::warpAffine Node1->Node2

cv::cuda::warpAffine Node1 cv::cuda::warpAffine Node2 cv::cuda::warpAffine Node1->Node2

warpAffine()#

void cv::cuda::warpAffine(
InputArray src,
OutputArray dst,
UMat M,
Size dsize,
int flags = INTER_LINEAR,
int borderMode = BORDER_CONSTANT,
Scalar borderValue = Scalar(),
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Here is the call graph for this function:

cv::cuda::warpAffine Node1 cv::cuda::warpAffine Node2 cv::cuda::warpAffine Node1->Node2

cv::cuda::warpAffine Node1 cv::cuda::warpAffine Node2 cv::cuda::warpAffine Node1->Node2

warpPerspective()#

void cv::cuda::warpPerspective(
InputArray src,
OutputArray dst,
InputArray M,
Size dsize,
int flags = INTER_LINEAR,
int borderMode = BORDER_CONSTANT,
Scalar borderValue = Scalar(),
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Applies a perspective transformation to an image.

See also

warpPerspective

Parameters

  • src — Source image. CV_8U , CV_16U , CV_32S , or CV_32F depth and 1, 3, or 4 channels are supported.

  • dst — Destination image with the same type as src . The size is dsize .

  • M3x3 Mat or UMat transformation matrix.

  • dsize — Size of the destination image.

  • flags — Combination of interpolation methods (see resize ) and the optional flag WARP_INVERSE_MAP specifying that M is the inverse transformation ( dst => src ). Only INTER_NEAREST , INTER_LINEAR , and INTER_CUBIC interpolation methods are supported.

  • borderMode

  • borderValue

  • streamStream for the asynchronous version.

warpPerspective()#

void cv::cuda::warpPerspective(
InputArray src,
OutputArray dst,
Mat M,
Size dsize,
int flags = INTER_LINEAR,
int borderMode = BORDER_CONSTANT,
Scalar borderValue = Scalar(),
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Here is the call graph for this function:

cv::cuda::warpPerspective Node1 cv::cuda::warpPerspective Node2 cv::cuda::warpPerspective Node1->Node2

cv::cuda::warpPerspective Node1 cv::cuda::warpPerspective Node2 cv::cuda::warpPerspective Node1->Node2

warpPerspective()#

void cv::cuda::warpPerspective(
InputArray src,
OutputArray dst,
UMat M,
Size dsize,
int flags = INTER_LINEAR,
int borderMode = BORDER_CONSTANT,
Scalar borderValue = Scalar(),
Stream & stream = Stream::Null() )

#include <opencv2/cudawarping.hpp>

Here is the call graph for this function:

cv::cuda::warpPerspective Node1 cv::cuda::warpPerspective Node2 cv::cuda::warpPerspective Node1->Node2

cv::cuda::warpPerspective Node1 cv::cuda::warpPerspective Node2 cv::cuda::warpPerspective Node1->Node2