restructured gpu modules docs
This commit is contained in:
165
doc/gpu_matrix_operations.tex
Normal file
165
doc/gpu_matrix_operations.tex
Normal file
@@ -0,0 +1,165 @@
|
||||
\section{Operations on Matrices}
|
||||
|
||||
|
||||
\cvCppFunc{gpu::transpose}
|
||||
Transposes the matrix.
|
||||
|
||||
\cvdefCpp{void transpose(const GpuMat\& src, GpuMat\& dst);}
|
||||
\begin{description}
|
||||
\cvarg{src}{Source matrix. Elements sizes 1, 4, 8 bytes are supported for now.}
|
||||
\cvarg{dst}{Destination matrix.}
|
||||
\end{description}
|
||||
|
||||
See also: \cvCppCross{transpose}.
|
||||
|
||||
|
||||
\cvCppFunc{gpu::flip}
|
||||
Flips a 2D matrix around vertical, horizontal or both axes.
|
||||
|
||||
\cvdefCpp{void flip(const GpuMat\& a, GpuMat\& b, int flipCode);}
|
||||
\begin{description}
|
||||
\cvarg{a}{Source matrix. Only 8UC1 and 8UC4 matrixes are supported for now.}
|
||||
\cvarg{b}{Destination matrix.}
|
||||
\cvarg{flipCode}{Specifies how to flip the source:
|
||||
\begin{description}
|
||||
\cvarg{0}{Flip around x-axis.}
|
||||
\cvarg{$>$0}{Flip around y-axis.}
|
||||
\cvarg{$<$0}{Flip around both axes.}
|
||||
\end{description}}
|
||||
\end{description}
|
||||
|
||||
See also: \cvCppCross{flip}.
|
||||
|
||||
\cvCppFunc{gpu::merge}
|
||||
Makes multi-channel matrix out of several single-channel matrices.
|
||||
|
||||
\cvdefCpp{void merge(const GpuMat* src, size\_t n, GpuMat\& dst);\newline
|
||||
void merge(const GpuMat* src, size\_t n, GpuMat\& dst,\par
|
||||
const Stream\& stream);\newline\newline
|
||||
void merge(const vector$<$GpuMat$>$\& src, GpuMat\& dst);\newline
|
||||
void merge(const vector$<$GpuMat$>$\& src, GpuMat\& dst,\par
|
||||
const Stream\& stream);}
|
||||
\begin{description}
|
||||
\cvarg{src}{Vector or pointer to array of the source matrices.}
|
||||
\cvarg{n}{Number of source matrices.}
|
||||
\cvarg{dst}{Destination matrix.}
|
||||
\cvarg{stream}{Stream for the asynchronous versions.}
|
||||
\end{description}
|
||||
|
||||
See also: \cvCppCross{merge}.
|
||||
|
||||
|
||||
\cvCppFunc{gpu::split}
|
||||
Copies each plane of a multi-channel matrix into an array.
|
||||
|
||||
\cvdefCpp{void split(const GpuMat\& src, GpuMat* dst);\newline
|
||||
void split(const GpuMat\& src, GpuMat* dst, const Stream\& stream);\newline\newline
|
||||
void split(const GpuMat\& src, vector$<$GpuMat$>$\& dst);\newline
|
||||
void split(const GpuMat\& src, vector$<$GpuMat$>$\& dst,\par
|
||||
const Stream\& stream);}
|
||||
\begin{description}
|
||||
\cvarg{src}{Source matrix.}
|
||||
\cvarg{dst}{Destination vector or pointer to array of single-channel matrices.}
|
||||
\cvarg{stream}{Stream for the asynchronous versions.}
|
||||
\end{description}
|
||||
|
||||
See also: \cvCppCross{split}.
|
||||
|
||||
|
||||
\cvCppFunc{gpu::magnitude}
|
||||
Computes magnitude of complex vector.
|
||||
|
||||
\cvdefCpp{void magnitude(const GpuMat\& x, GpuMat\& magnitude);}
|
||||
\begin{description}
|
||||
\cvarg{x}{Source complex matrix in the interleaved format (32FC2). }
|
||||
\cvarg{magnitude}{Destination matrix of float magnitudes (32FC1).}
|
||||
\end{description}
|
||||
|
||||
\cvdefCpp{void magnitude(const GpuMat\& x, const GpuMat\& y, GpuMat\& magnitude);\newline
|
||||
void magnitude(const GpuMat\& x, const GpuMat\& y, GpuMat\& magnitude,\par
|
||||
const Stream\& stream);}
|
||||
\begin{description}
|
||||
\cvarg{x}{Source matrix, containing real components (32FC1).}
|
||||
\cvarg{y}{Source matrix, containing imaginary components (32FC1).}
|
||||
\cvarg{magnitude}{Destination matrix of float magnitudes (32FC1).}
|
||||
\cvarg{stream}{Sream for the asynchronous version.}
|
||||
\end{description}
|
||||
|
||||
See also: \cvCppCross{magnitude}.
|
||||
|
||||
|
||||
\cvCppFunc{gpu::magnitudeSqr}
|
||||
Computes squared magnitude of complex vector.
|
||||
|
||||
\cvdefCpp{void magnitudeSqr(const GpuMat\& x, GpuMat\& magnitude);}
|
||||
\begin{description}
|
||||
\cvarg{x}{Source complex matrix in the interleaved format (32FC2). }
|
||||
\cvarg{magnitude}{Destination matrix of float magnitude squares (32FC1).}
|
||||
\end{description}
|
||||
|
||||
\cvdefCpp{void magnitudeSqr(const GpuMat\& x, const GpuMat\& y, GpuMat\& magnitude);\newline
|
||||
void magnitudeSqr(const GpuMat\& x, const GpuMat\& y, GpuMat\& magnitude,\par
|
||||
const Stream\& stream);}
|
||||
\begin{description}
|
||||
\cvarg{x}{Source matrix, containing real components (32FC1).}
|
||||
\cvarg{y}{Source matrix, containing imaginary components (32FC1).}
|
||||
\cvarg{magnitude}{Destination matrix of float magnitude squares (32FC1).}
|
||||
\cvarg{stream}{Sream for the asynchronous version.}
|
||||
\end{description}
|
||||
|
||||
|
||||
\cvCppFunc{gpu::phase}
|
||||
Computes polar angle of each complex value.
|
||||
|
||||
\cvdefCpp{void phase(const GpuMat\& x, const GpuMat\& y, GpuMat\& angle,\par
|
||||
bool angleInDegrees=false);\newline
|
||||
void phase(const GpuMat\& x, const GpuMat\& y, GpuMat\& angle,\par
|
||||
bool angleInDegrees, const Stream\& stream);}
|
||||
\begin{description}
|
||||
\cvarg{x}{Source matrix, containing real components (32FC1).}
|
||||
\cvarg{y}{Source matrix, containing imaginary components (32FC1).}
|
||||
\cvarg{angle}{Destionation matrix of angles (32FC1).}
|
||||
\cvarg{angleInDegress}{Flag which indicates angles must be evaluated in degress.}
|
||||
\cvarg{stream}{Sream for the asynchronous version.}
|
||||
\end{description}
|
||||
|
||||
See also: \cvCppCross{phase}.
|
||||
|
||||
|
||||
\cvCppFunc{gpu::cartToPolar}
|
||||
Converts Cartesian coordinates into polar.
|
||||
|
||||
\cvdefCpp{void cartToPolar(const GpuMat\& x, const GpuMat\& y, GpuMat\& magnitude,\par
|
||||
GpuMat\& angle, bool angleInDegrees=false);\newline
|
||||
void cartToPolar(const GpuMat\& x, const GpuMat\& y, GpuMat\& magnitude,\par
|
||||
GpuMat\& angle, bool angleInDegrees, const Stream\& stream);}
|
||||
\begin{description}
|
||||
\cvarg{x}{Source matrix, containing real components (32FC1).}
|
||||
\cvarg{y}{Source matrix, containing imaginary components (32FC1).}
|
||||
\cvarg{magnitude}{Destination matrix of float magnituds (32FC1).}
|
||||
\cvarg{angle}{Destionation matrix of angles (32FC1).}
|
||||
\cvarg{angleInDegress}{Flag which indicates angles must be evaluated in degress.}
|
||||
\cvarg{stream}{Sream for the asynchronous version.}
|
||||
\end{description}
|
||||
|
||||
See also: \cvCppCross{cartToPolar}.
|
||||
|
||||
|
||||
\cvCppFunc{gpu::polarToCart}
|
||||
Converts polar coordinates into Cartesian.
|
||||
|
||||
\cvdefCpp{void polarToCart(const GpuMat\& magnitude, const GpuMat\& angle,\par
|
||||
GpuMat\& x, GpuMat\& y, bool angleInDegrees=false);\newline
|
||||
void polarToCart(const GpuMat\& magnitude, const GpuMat\& angle,\par
|
||||
GpuMat\& x, GpuMat\& y, bool angleInDegrees,\par
|
||||
const Stream\& stream);}
|
||||
\begin{description}
|
||||
\cvarg{magnitude}{Source matrix, containing magnitudes (32FC1).}
|
||||
\cvarg{angle}{Source matrix, containing angles (32FC1).}
|
||||
\cvarg{x}{Destination matrix of real components (32FC1).}
|
||||
\cvarg{y}{Destination matrix of imaginary components (32FC1).}
|
||||
\cvarg{angleInDegress}{Flag which indicates angles are in degress.}
|
||||
\cvarg{stream}{Sream for the asynchronous version.}
|
||||
\end{description}
|
||||
|
||||
See also: \cvCppCross{polarToCart}.
|
||||
Reference in New Issue
Block a user