diff --git a/doc/gpu.tex b/doc/gpu.tex index de9e47762f..6fff09f544 100644 --- a/doc/gpu.tex +++ b/doc/gpu.tex @@ -1,6 +1,36 @@ \ifCpp +\section{Initalization and Info} + + +\cvCppFunc{gpu::hasNativeDoubleSupport} +Returns true if current GPU has native double support, false otherwise. + +\cvdefCpp{bool hasNativeDoubleSupport(int device);} + + +\cvCppFunc{gpu::hasAtomicsSupport} +Returns true if current GPU has atomics support, false otherwise. + +\cvdefCpp{bool hasAtomicsSupport(int device);} + + +\section{Data Structures} + + +\cvCppFunc{gpu::createContinuous} +Creates continuous matrix in GPU memory. + +\cvdefCpp{void createContinuous(int rows, int cols, int type, GpuMat\& m);} +\begin{description} +\cvarg{rows}{Row count.} +\cvarg{cols}{Column count.} +\cvarg{type}{Type of the matrix.} +\cvarg{m}{Destionation matrix. Will do only reshape if \texttt{m} has proper type and area ($rows \times cols$).} +\end{description} + + \section{Per-element Operations} @@ -312,6 +342,49 @@ Construct empty buffer which will be properly resized after first call of the co Construct buffer for the convolve function with respectively arguments. +\cvCppFunc{gpu::matchTemplate} +Computes the proximity map for the raster template and the image where the template is searched for. + +\cvdefCpp{void matchTemplate(const GpuMat\& image, const GpuMat\& templ,\par + GpuMat\& result, int method);} + +\begin{description} +\cvarg{image}{Source image. 32F and 8U images (1..4 channels) are supported for now.} +\cvarg{templ}{Template image. Must have the same size and type as \texttt{image}.} +\cvarg{result}{A map of comparison results (32FC1). If \texttt{image} is $W \times H$ and +\texttt{templ} is $w \times h$ then \texttt{result} must be $(W-w+1) \times (H-h+1)$.} +\cvarg{method}{Specifies the way the template must be compared with the image.} +\end{description} + +Following methods are supported for 8U images for now: +\begin{itemize} +\item CV\_TM\_SQDIFF \item CV\_TM\_SQDIFF\_NORMED \item CV\_TM\_CCORR \item CV\_TM\_CCORR\_NORMED \item CV\_TM\_CCOEFF \item CV\_TM\_CCOEFF\_NORMED +\end{itemize}\par +Following methods are supported for 32F images for now: +\begin{itemize} +\item CV\_TM\_SQDIFF \item CV\_TM\_CCORR +\end{itemize} + +See also: \cvCppCross{matchTemplate}. + + +\section{Matrix Reductions} + + +\cvCppFunc{gpu::sum} +Computes sum of array elements. + +\cvdefCpp{Scalar sum(const GpuMat\& src);\newline +Scalar sum(const GpuMat\& src, GpuMat\& buf);} + +\begin{description} +\cvarg{src}{Source image of any depth excepting 64F, single-channel.} +\cvarg{buf}{Optional buffer. It's resized automatically.} +\end{description} + +See also: \cvCppCross{sum}. + + \section{Object Detection} diff --git a/doc/opencv.pdf b/doc/opencv.pdf index b5ad8301a5..9d6090c3f7 100644 Binary files a/doc/opencv.pdf and b/doc/opencv.pdf differ