Image Filtering CUDA 加速的计算机视觉


class   cv::cuda::Filter
  Common interface for all CUDA filters : 更多...
 

函数

Ptr < Filter cv::cuda::createBoxFilter (int srcType, int dstType, Size ksize, Point anchor= Point (-1, -1), int borderMode= BORDER_DEFAULT , Scalar borderVal= Scalar::all (0))
  Creates a normalized 2D box filter. 更多...
 
Ptr < Filter cv::cuda::createBoxMaxFilter (int srcType, Size ksize, Point anchor= Point (-1, -1), int borderMode= BORDER_DEFAULT , Scalar borderVal= Scalar::all (0))
  Creates the maximum filter. 更多...
 
Ptr < Filter cv::cuda::createBoxMinFilter (int srcType, Size ksize, Point anchor= Point (-1, -1), int borderMode= BORDER_DEFAULT , Scalar borderVal= Scalar::all (0))
  Creates the minimum filter. 更多...
 
Ptr < Filter cv::cuda::createColumnSumFilter (int srcType, int dstType, int ksize, int anchor=-1, int borderMode= BORDER_DEFAULT , Scalar borderVal= Scalar::all (0))
  Creates a vertical 1D box filter. 更多...
 
Ptr < Filter cv::cuda::createDerivFilter (int srcType, int dstType, int dx, int dy, int ksize, bool normalize =false, double scale=1, int rowBorderMode= BORDER_DEFAULT , int columnBorderMode=-1)
  Creates a generalized Deriv operator. 更多...
 
Ptr < Filter cv::cuda::createGaussianFilter (int srcType, int dstType, Size ksize, double sigma1, double sigma2=0, int rowBorderMode= BORDER_DEFAULT , int columnBorderMode=-1)
  Creates a Gaussian filter. 更多...
 
Ptr < Filter cv::cuda::createLaplacianFilter (int srcType, int dstType, int ksize=1, double scale=1, int borderMode= BORDER_DEFAULT , Scalar borderVal= Scalar::all (0))
  Creates a Laplacian operator. 更多...
 
Ptr < Filter cv::cuda::createLinearFilter (int srcType, int dstType, InputArray kernel, Point anchor= Point (-1, -1), int borderMode= BORDER_DEFAULT , Scalar borderVal= Scalar::all (0))
  Creates a non-separable linear 2D filter. 更多...
 
Ptr < Filter cv::cuda::createMorphologyFilter (int op, int srcType, InputArray kernel, Point anchor= Point (-1, -1), int iterations=1)
  Creates a 2D morphological filter. 更多...
 
Ptr < Filter cv::cuda::createRowSumFilter (int srcType, int dstType, int ksize, int anchor=-1, int borderMode= BORDER_DEFAULT , Scalar borderVal= Scalar::all (0))
  Creates a horizontal 1D box filter. 更多...
 
Ptr < Filter cv::cuda::createScharrFilter (int srcType, int dstType, int dx, int dy, double scale=1, int rowBorderMode= BORDER_DEFAULT , int columnBorderMode=-1)
  Creates a vertical or horizontal Scharr operator. 更多...
 
Ptr < Filter cv::cuda::createSeparableLinearFilter (int srcType, int dstType, InputArray rowKernel, InputArray columnKernel, Point anchor= Point (-1,-1), int rowBorderMode= BORDER_DEFAULT , int columnBorderMode=-1)
  Creates a separable linear filter. 更多...
 
Ptr < Filter cv::cuda::createSobelFilter (int srcType, int dstType, int dx, int dy, int ksize=3, double scale=1, int rowBorderMode= BORDER_DEFAULT , int columnBorderMode=-1)
  Creates a Sobel operator. 更多...
 

详细描述

Functions and classes described in this section are used to perform various linear or non-linear filtering operations on 2D images.

注意
  • An example containing all basic morphology operators like erode and dilate can be found at opencv_source_code/samples/gpu/morphology.cpp

函数文档编制

◆  createBoxFilter()

Ptr < Filter > cv::cuda::createBoxFilter ( int  srcType ,
int  dstType ,
Size   ksize ,
Point   anchor = Point (-1, -1) ,
int  borderMode = BORDER_DEFAULT ,
Scalar   borderVal = Scalar::all (0)  
)

#include < opencv2/cudafilters.hpp >

Creates a normalized 2D box filter.

Parameters
srcType Input image type. Only CV_8UC1, CV_8UC4 and CV_32FC1 are supported for now.
dstType Output image type. Only the same type as src is supported for now.
ksize Kernel size.
anchor Anchor point. The default value Point(-1, -1) means that the anchor is at the kernel center.
borderMode Pixel extrapolation method. For details, see borderInterpolate .
borderVal Default border value.
另请参阅
boxFilter

◆  createBoxMaxFilter()

Ptr < Filter > cv::cuda::createBoxMaxFilter ( int  srcType ,
Size   ksize ,
Point   anchor = Point (-1, -1) ,
int  borderMode = BORDER_DEFAULT ,
Scalar   borderVal = Scalar::all (0)  
)

#include < opencv2/cudafilters.hpp >

Creates the maximum filter.

Parameters
srcType Input/output image type. Only CV_8UC1 and CV_8UC4 are supported.
ksize Kernel size.
anchor Anchor point. The default value (-1) means that the anchor is at the kernel center.
borderMode Pixel extrapolation method. For details, see borderInterpolate .
borderVal Default border value.

◆  createBoxMinFilter()

Ptr < Filter > cv::cuda::createBoxMinFilter ( int  srcType ,
Size   ksize ,
Point   anchor = Point (-1, -1) ,
int  borderMode = BORDER_DEFAULT ,
Scalar   borderVal = Scalar::all (0)  
)

#include < opencv2/cudafilters.hpp >

Creates the minimum filter.

Parameters
srcType Input/output image type. Only CV_8UC1 and CV_8UC4 are supported.
ksize Kernel size.
anchor Anchor point. The default value (-1) means that the anchor is at the kernel center.
borderMode Pixel extrapolation method. For details, see borderInterpolate .
borderVal Default border value.

◆  createColumnSumFilter()

Ptr < Filter > cv::cuda::createColumnSumFilter ( int  srcType ,
int  dstType ,
int  ksize ,
int  anchor = -1 ,
int  borderMode = BORDER_DEFAULT ,
Scalar   borderVal = Scalar::all (0)  
)

#include < opencv2/cudafilters.hpp >

Creates a vertical 1D box filter.

Parameters
srcType Input image type. Only CV_8UC1 type is supported for now.
dstType Output image type. Only CV_32FC1 type is supported for now.
ksize Kernel size.
anchor Anchor point. The default value (-1) means that the anchor is at the kernel center.
borderMode Pixel extrapolation method. For details, see borderInterpolate .
borderVal Default border value.

◆  createDerivFilter()

Ptr < Filter > cv::cuda::createDerivFilter ( int  srcType ,
int  dstType ,
int  dx ,
int  dy ,
int  ksize ,
bool  normalize = false ,
double  scale = 1 ,
int  rowBorderMode = BORDER_DEFAULT ,
int  columnBorderMode = -1  
)

#include < opencv2/cudafilters.hpp >

Creates a generalized Deriv operator.

Parameters
srcType Source image type.
dstType Destination array type.
dx Derivative order in respect of x.
dy Derivative order in respect of y.
ksize Aperture size. See getDerivKernels for details.
normalize Flag indicating whether to normalize (scale down) the filter coefficients or not. See getDerivKernels for details.
scale Optional scale factor for the computed derivative values. By default, no scaling is applied. For details, see getDerivKernels .
rowBorderMode Pixel extrapolation method in the vertical direction. For details, see borderInterpolate.
columnBorderMode Pixel extrapolation method in the horizontal direction.

◆  createGaussianFilter()

Ptr < Filter > cv::cuda::createGaussianFilter ( int  srcType ,
int  dstType ,
Size   ksize ,
double  sigma1 ,
double  sigma2 = 0 ,
int  rowBorderMode = BORDER_DEFAULT ,
int  columnBorderMode = -1  
)

#include < opencv2/cudafilters.hpp >

Creates a Gaussian filter.

Parameters
srcType Source image type.
dstType Destination array type.
ksize Aperture size. See getGaussianKernel for details.
sigma1 Gaussian sigma in the horizontal direction. See getGaussianKernel for details.
sigma2 Gaussian sigma in the vertical direction. If 0, then \(\texttt{sigma2}\leftarrow\texttt{sigma1}\) .
rowBorderMode Pixel extrapolation method in the vertical direction. For details, see borderInterpolate.
columnBorderMode Pixel extrapolation method in the horizontal direction.
另请参阅
GaussianBlur

◆  createLaplacianFilter()

Ptr < Filter > cv::cuda::createLaplacianFilter ( int  srcType ,
int  dstType ,
int  ksize = 1 ,
double  scale = 1 ,
int  borderMode = BORDER_DEFAULT ,
Scalar   borderVal = Scalar::all (0)  
)

#include < opencv2/cudafilters.hpp >

Creates a Laplacian operator.

Parameters
srcType Input image type. Supports CV_8U , CV_16U and CV_32F one and four channel image.
dstType Output image type. Only the same type as src is supported for now.
ksize Aperture size used to compute the second-derivative filters (see getDerivKernels). It must be positive and odd. Only ksize = 1 and ksize = 3 are supported.
scale Optional scale factor for the computed Laplacian values. By default, no scaling is applied (see getDerivKernels ).
borderMode Pixel extrapolation method. For details, see borderInterpolate .
borderVal Default border value.
另请参阅
Laplacian

◆  createLinearFilter()

Ptr < Filter > cv::cuda::createLinearFilter ( int  srcType ,
int  dstType ,
InputArray   kernel ,
Point   anchor = Point (-1, -1) ,
int  borderMode = BORDER_DEFAULT ,
Scalar   borderVal = Scalar::all (0)  
)

#include < opencv2/cudafilters.hpp >

Creates a non-separable linear 2D filter.

Parameters
srcType Input image type. Supports CV_8U , CV_16U and CV_32F one and four channel image.
dstType Output image type. Only the same type as src is supported for now.
kernel 2D array of filter coefficients.
anchor Anchor point. The default value Point(-1, -1) means that the anchor is at the kernel center.
borderMode Pixel extrapolation method. For details, see borderInterpolate .
borderVal Default border value.
另请参阅
filter2D

◆  createMorphologyFilter()

Ptr < Filter > cv::cuda::createMorphologyFilter ( int  op ,
int  srcType ,
InputArray   kernel ,
Point   anchor = Point (-1, -1) ,
int  iterations = 1  
)

#include < opencv2/cudafilters.hpp >

Creates a 2D morphological filter.

Parameters
op Type of morphological operation. The following types are possible:
  • MORPH_ERODE erode
  • MORPH_DILATE dilate
  • MORPH_OPEN opening
  • MORPH_CLOSE closing
  • MORPH_GRADIENT morphological gradient
  • MORPH_TOPHAT "top hat"
  • MORPH_BLACKHAT "black hat"
srcType Input/output image type. Only CV_8UC1, CV_8UC4, CV_32FC1 and CV_32FC4 are supported.
kernel 2D 8-bit structuring element for the morphological operation.
anchor Anchor position within the structuring element. Negative values mean that the anchor is at the center.
iterations Number of times erosion and dilation to be applied.
另请参阅
morphologyEx

◆  createRowSumFilter()

Ptr < Filter > cv::cuda::createRowSumFilter ( int  srcType ,
int  dstType ,
int  ksize ,
int  anchor = -1 ,
int  borderMode = BORDER_DEFAULT ,
Scalar   borderVal = Scalar::all (0)  
)

#include < opencv2/cudafilters.hpp >

Creates a horizontal 1D box filter.

Parameters
srcType Input image type. Only CV_8UC1 type is supported for now.
dstType Output image type. Only CV_32FC1 type is supported for now.
ksize Kernel size.
anchor Anchor point. The default value (-1) means that the anchor is at the kernel center.
borderMode Pixel extrapolation method. For details, see borderInterpolate .
borderVal Default border value.

◆  createScharrFilter()

Ptr < Filter > cv::cuda::createScharrFilter ( int  srcType ,
int  dstType ,
int  dx ,
int  dy ,
double  scale = 1 ,
int  rowBorderMode = BORDER_DEFAULT ,
int  columnBorderMode = -1  
)

#include < opencv2/cudafilters.hpp >

Creates a vertical or horizontal Scharr operator.

Parameters
srcType Source image type.
dstType Destination array type.
dx Order of the derivative x.
dy Order of the derivative y.
scale Optional scale factor for the computed derivative values. By default, no scaling is applied. See getDerivKernels for details.
rowBorderMode Pixel extrapolation method in the vertical direction. For details, see borderInterpolate.
columnBorderMode Pixel extrapolation method in the horizontal direction.
另请参阅
Scharr

◆  createSeparableLinearFilter()

Ptr < Filter > cv::cuda::createSeparableLinearFilter ( int  srcType ,
int  dstType ,
InputArray   rowKernel ,
InputArray   columnKernel ,
Point   anchor = Point (-1,-1) ,
int  rowBorderMode = BORDER_DEFAULT ,
int  columnBorderMode = -1  
)

#include < opencv2/cudafilters.hpp >

Creates a separable linear filter.

Parameters
srcType Source array type.
dstType Destination array type.
rowKernel Horizontal filter coefficients. Support kernels with size <= 32 .
columnKernel Vertical filter coefficients. Support kernels with size <= 32 .
anchor Anchor position within the kernel. Negative values mean that anchor is positioned at the aperture center.
rowBorderMode Pixel extrapolation method in the vertical direction For details, see borderInterpolate.
columnBorderMode Pixel extrapolation method in the horizontal direction.
另请参阅
sepFilter2D

◆  createSobelFilter()

Ptr < Filter > cv::cuda::createSobelFilter ( int  srcType ,
int  dstType ,
int  dx ,
int  dy ,
int  ksize = 3 ,
double  scale = 1 ,
int  rowBorderMode = BORDER_DEFAULT ,
int  columnBorderMode = -1  
)

#include < opencv2/cudafilters.hpp >

Creates a Sobel operator.

Parameters
srcType Source image type.
dstType Destination array type.
dx Derivative order in respect of x.
dy Derivative order in respect of y.
ksize Size of the extended Sobel kernel. Possible values are 1, 3, 5 or 7.
scale Optional scale factor for the computed derivative values. By default, no scaling is applied. For details, see getDerivKernels .
rowBorderMode Pixel extrapolation method in the vertical direction. For details, see borderInterpolate.
columnBorderMode Pixel extrapolation method in the horizontal direction.
另请参阅
Sobel