public class opencv_cudafilters extends opencv_cudafilters
| Constructor and Description |
|---|
opencv_cudafilters() |
| Modifier and Type | Method and Description |
|---|---|
static Filter |
createBoxFilter(int srcType,
int dstType,
Size ksize) |
static Filter |
createBoxFilter(int srcType,
int dstType,
Size ksize,
Point anchor,
int borderMode,
Scalar borderVal)
\brief Creates a normalized 2D box filter.
|
static Filter |
createBoxMaxFilter(int srcType,
Size ksize) |
static Filter |
createBoxMaxFilter(int srcType,
Size ksize,
Point anchor,
int borderMode,
Scalar borderVal)
\brief Creates the maximum filter.
|
static Filter |
createBoxMinFilter(int srcType,
Size ksize) |
static Filter |
createBoxMinFilter(int srcType,
Size ksize,
Point anchor,
int borderMode,
Scalar borderVal)
\brief Creates the minimum filter.
|
static Filter |
createColumnSumFilter(int srcType,
int dstType,
int ksize) |
static Filter |
createColumnSumFilter(int srcType,
int dstType,
int ksize,
int anchor,
int borderMode,
Scalar borderVal)
\brief Creates a vertical 1D box filter.
|
static Filter |
createDerivFilter(int srcType,
int dstType,
int dx,
int dy,
int ksize) |
static Filter |
createDerivFilter(int srcType,
int dstType,
int dx,
int dy,
int ksize,
boolean normalize,
double scale,
int rowBorderMode,
int columnBorderMode)
\brief Creates a generalized Deriv operator.
|
static Filter |
createGaussianFilter(int srcType,
int dstType,
Size ksize,
double sigma1) |
static Filter |
createGaussianFilter(int srcType,
int dstType,
Size ksize,
double sigma1,
double sigma2,
int rowBorderMode,
int columnBorderMode)
\brief Creates a Gaussian filter.
|
static Filter |
createLaplacianFilter(int srcType,
int dstType) |
static Filter |
createLaplacianFilter(int srcType,
int dstType,
int ksize,
double scale,
int borderMode,
Scalar borderVal)
\brief Creates a Laplacian operator.
|
static Filter |
createLinearFilter(int srcType,
int dstType,
GpuMat kernel) |
static Filter |
createLinearFilter(int srcType,
int dstType,
GpuMat kernel,
Point anchor,
int borderMode,
Scalar borderVal) |
static Filter |
createLinearFilter(int srcType,
int dstType,
Mat kernel) |
static Filter |
createLinearFilter(int srcType,
int dstType,
Mat kernel,
Point anchor,
int borderMode,
Scalar borderVal)
\brief Creates a non-separable linear 2D filter.
|
static Filter |
createLinearFilter(int srcType,
int dstType,
UMat kernel) |
static Filter |
createLinearFilter(int srcType,
int dstType,
UMat kernel,
Point anchor,
int borderMode,
Scalar borderVal) |
static Filter |
createMedianFilter(int srcType,
int windowSize) |
static Filter |
createMedianFilter(int srcType,
int windowSize,
int partition)
\}
|
static Filter |
createMorphologyFilter(int op,
int srcType,
GpuMat kernel) |
static Filter |
createMorphologyFilter(int op,
int srcType,
GpuMat kernel,
Point anchor,
int iterations) |
static Filter |
createMorphologyFilter(int op,
int srcType,
Mat kernel) |
static Filter |
createMorphologyFilter(int op,
int srcType,
Mat kernel,
Point anchor,
int iterations)
\brief Creates a 2D morphological filter.
|
static Filter |
createMorphologyFilter(int op,
int srcType,
UMat kernel) |
static Filter |
createMorphologyFilter(int op,
int srcType,
UMat kernel,
Point anchor,
int iterations) |
static Filter |
createRowSumFilter(int srcType,
int dstType,
int ksize) |
static Filter |
createRowSumFilter(int srcType,
int dstType,
int ksize,
int anchor,
int borderMode,
Scalar borderVal)
\brief Creates a horizontal 1D box filter.
|
static Filter |
createScharrFilter(int srcType,
int dstType,
int dx,
int dy) |
static Filter |
createScharrFilter(int srcType,
int dstType,
int dx,
int dy,
double scale,
int rowBorderMode,
int columnBorderMode)
\brief Creates a vertical or horizontal Scharr operator.
|
static Filter |
createSeparableLinearFilter(int srcType,
int dstType,
GpuMat rowKernel,
GpuMat columnKernel) |
static Filter |
createSeparableLinearFilter(int srcType,
int dstType,
GpuMat rowKernel,
GpuMat columnKernel,
Point anchor,
int rowBorderMode,
int columnBorderMode) |
static Filter |
createSeparableLinearFilter(int srcType,
int dstType,
Mat rowKernel,
Mat columnKernel) |
static Filter |
createSeparableLinearFilter(int srcType,
int dstType,
Mat rowKernel,
Mat columnKernel,
Point anchor,
int rowBorderMode,
int columnBorderMode)
\brief Creates a separable linear filter.
|
static Filter |
createSeparableLinearFilter(int srcType,
int dstType,
UMat rowKernel,
UMat columnKernel) |
static Filter |
createSeparableLinearFilter(int srcType,
int dstType,
UMat rowKernel,
UMat columnKernel,
Point anchor,
int rowBorderMode,
int columnBorderMode) |
static Filter |
createSobelFilter(int srcType,
int dstType,
int dx,
int dy) |
static Filter |
createSobelFilter(int srcType,
int dstType,
int dx,
int dy,
int ksize,
double scale,
int rowBorderMode,
int columnBorderMode)
\brief Creates a Sobel operator.
|
map@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createBoxFilter(int srcType, int dstType, @ByVal Size ksize, @ByVal(nullValue="cv::Point(-1, -1)") Point anchor, int borderMode, @ByVal(nullValue="cv::Scalar::all(0)") Scalar borderVal)
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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
boxFilter@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createBoxFilter(int srcType, int dstType, @ByVal Size ksize)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createLinearFilter(int srcType, int dstType, @ByVal Mat kernel, @ByVal(nullValue="cv::Point(-1, -1)") Point anchor, int borderMode, @ByVal(nullValue="cv::Scalar::all(0)") Scalar borderVal)
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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
filter2D@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createLinearFilter(int srcType, int dstType, @ByVal Mat kernel)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createLinearFilter(int srcType, int dstType, @ByVal UMat kernel, @ByVal(nullValue="cv::Point(-1, -1)") Point anchor, int borderMode, @ByVal(nullValue="cv::Scalar::all(0)") Scalar borderVal)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createLinearFilter(int srcType, int dstType, @ByVal UMat kernel)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createLinearFilter(int srcType, int dstType, @ByVal GpuMat kernel, @ByVal(nullValue="cv::Point(-1, -1)") Point anchor, int borderMode, @ByVal(nullValue="cv::Scalar::all(0)") Scalar borderVal)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createLinearFilter(int srcType, int dstType, @ByVal GpuMat kernel)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createLaplacianFilter(int srcType, int dstType, int ksize, double scale, int borderMode, @ByVal(nullValue="cv::Scalar::all(0)") Scalar borderVal)
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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
Laplacian@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createLaplacianFilter(int srcType, int dstType)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createSeparableLinearFilter(int srcType, int dstType, @ByVal Mat rowKernel, @ByVal Mat columnKernel, @ByVal(nullValue="cv::Point(-1,-1)") Point anchor, int rowBorderMode, int columnBorderMode)
srcType - Source array type.dstType - Destination array type.rowKernel - Horizontal filter coefficients. Support kernels with size \<= 32 .
noArray() is supported to ignore the row filtering.columnKernel - Vertical filter coefficients. Support kernels with size \<= 32 .
noArray() is supported to ignore the column filtering.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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
sepFilter2D@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createSeparableLinearFilter(int srcType, int dstType, @ByVal Mat rowKernel, @ByVal Mat columnKernel)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createSeparableLinearFilter(int srcType, int dstType, @ByVal UMat rowKernel, @ByVal UMat columnKernel, @ByVal(nullValue="cv::Point(-1,-1)") Point anchor, int rowBorderMode, int columnBorderMode)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createSeparableLinearFilter(int srcType, int dstType, @ByVal UMat rowKernel, @ByVal UMat columnKernel)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createSeparableLinearFilter(int srcType, int dstType, @ByVal GpuMat rowKernel, @ByVal GpuMat columnKernel, @ByVal(nullValue="cv::Point(-1,-1)") Point anchor, int rowBorderMode, int columnBorderMode)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createSeparableLinearFilter(int srcType, int dstType, @ByVal GpuMat rowKernel, @ByVal GpuMat columnKernel)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createDerivFilter(int srcType, int dstType, int dx, int dy, int ksize, @Cast(value="bool") boolean normalize, double scale, int rowBorderMode, int columnBorderMode)
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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createDerivFilter(int srcType, int dstType, int dx, int dy, int ksize)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createSobelFilter(int srcType, int dstType, int dx, int dy, int ksize, double scale, int rowBorderMode, int columnBorderMode)
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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
Sobel@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createSobelFilter(int srcType, int dstType, int dx, int dy)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createScharrFilter(int srcType, int dstType, int dx, int dy, double scale, int rowBorderMode, int columnBorderMode)
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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
Scharr@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createScharrFilter(int srcType, int dstType, int dx, int dy)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createGaussianFilter(int srcType, int dstType, @ByVal Size ksize, double sigma1, double sigma2, int rowBorderMode, int columnBorderMode)
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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
GaussianBlur@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createGaussianFilter(int srcType, int dstType, @ByVal Size ksize, double sigma1)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createMorphologyFilter(int op, int srcType, @ByVal Mat kernel, @ByVal(nullValue="cv::Point(-1, -1)") Point anchor, int iterations)
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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
morphologyEx@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createMorphologyFilter(int op, int srcType, @ByVal Mat kernel)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createMorphologyFilter(int op, int srcType, @ByVal UMat kernel, @ByVal(nullValue="cv::Point(-1, -1)") Point anchor, int iterations)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createMorphologyFilter(int op, int srcType, @ByVal UMat kernel)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createMorphologyFilter(int op, int srcType, @ByVal GpuMat kernel, @ByVal(nullValue="cv::Point(-1, -1)") Point anchor, int iterations)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createMorphologyFilter(int op, int srcType, @ByVal GpuMat kernel)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createBoxMaxFilter(int srcType, @ByVal Size ksize, @ByVal(nullValue="cv::Point(-1, -1)") Point anchor, int borderMode, @ByVal(nullValue="cv::Scalar::all(0)") Scalar borderVal)
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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createBoxMaxFilter(int srcType, @ByVal Size ksize)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createBoxMinFilter(int srcType, @ByVal Size ksize, @ByVal(nullValue="cv::Point(-1, -1)") Point anchor, int borderMode, @ByVal(nullValue="cv::Scalar::all(0)") Scalar borderVal)
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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createBoxMinFilter(int srcType, @ByVal Size ksize)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createRowSumFilter(int srcType, int dstType, int ksize, int anchor, int borderMode, @ByVal(nullValue="cv::Scalar::all(0)") Scalar borderVal)
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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createRowSumFilter(int srcType, int dstType, int ksize)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createColumnSumFilter(int srcType, int dstType, int ksize, int anchor, int borderMode, @ByVal(nullValue="cv::Scalar::all(0)") Scalar borderVal)
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.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createColumnSumFilter(int srcType, int dstType, int ksize)
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createMedianFilter(int srcType, int windowSize, int partition)
///////////////////////////// Median Filtering //////////////////////////////
/** \brief Performs median filtering for each point of the source image.
srcType - type of of source image. Only CV_8UC1 if CUDA_VERSION < 11. CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32FC1, CV_32FC3 or CV_32FC4 if CUDA_VERSION >= 11.windowSize - Size of the kernerl used for the filtering. Uses a (windowSize x windowSize) filter.partition - Specifies the parallel granularity of the workload. Only used if CUDA_VERSION < 11.
Outputs an image that has been filtered using a median-filtering formulation.
If compiled with CUDA 11 or greater, a wavelet based algorithm is used as described at: https://cgenglab.github.io/en/publication/sigga22_wmatrix_median/ Yuji Moroto, Nobuyuki Umetani, 2022, "Constant Time Median Filter Using 2D Wavelet Matrix", ACM Transactions on Graphics, Volume 41, Issue 6.
For earlier versions of CUDA, details on the algorithm used can be found in: Green, O., 2017. "Efficient scalable median filtering using histogram-based operations", IEEE Transactions on Image Processing, 27(5), pp.2217-2228.
\note If applied in a CUDA Stream, a distinct filter instance must be created for each Stream. Sharing a single instance across multiple streams is unsupported and may lead to undefined behavior due to stream-specific internal state.
@Namespace(value="cv::cuda") @opencv_core.Ptr public static Filter createMedianFilter(int srcType, int windowSize)
Copyright © 2026. All rights reserved.