diff --git a/modules/cudafilters/include/opencv2/cudafilters.hpp b/modules/cudafilters/include/opencv2/cudafilters.hpp index 2aa9c846462..d92bdde2caa 100644 --- a/modules/cudafilters/include/opencv2/cudafilters.hpp +++ b/modules/cudafilters/include/opencv2/cudafilters.hpp @@ -97,6 +97,9 @@ center. @param borderMode Pixel extrapolation method. For details, see borderInterpolate . @param 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. + @sa boxFilter */ CV_EXPORTS_W Ptr createBoxFilter(int srcType, int dstType, Size ksize, Point anchor = Point(-1, -1), @@ -115,6 +118,9 @@ center. @param borderMode Pixel extrapolation method. For details, see borderInterpolate . @param 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. + @sa filter2D */ CV_EXPORTS_W Ptr createLinearFilter(int srcType, int dstType, InputArray kernel, Point anchor = Point(-1, -1), @@ -134,6 +140,9 @@ applied (see getDerivKernels ). @param borderMode Pixel extrapolation method. For details, see borderInterpolate . @param 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. + @sa Laplacian */ CV_EXPORTS_W Ptr createLaplacianFilter(int srcType, int dstType, int ksize = 1, double scale = 1, @@ -156,6 +165,9 @@ the aperture center. borderInterpolate. @param 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. + @sa sepFilter2D */ CV_EXPORTS_W Ptr createSeparableLinearFilter(int srcType, int dstType, InputArray rowKernel, InputArray columnKernel, @@ -178,6 +190,9 @@ applied. For details, see getDerivKernels . @param rowBorderMode Pixel extrapolation method in the vertical direction. For details, see borderInterpolate. @param 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. */ CV_EXPORTS_W Ptr createDerivFilter(int srcType, int dstType, int dx, int dy, int ksize, bool normalize = false, double scale = 1, @@ -196,6 +211,9 @@ applied. For details, see getDerivKernels . borderInterpolate. @param 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. + @sa Sobel */ CV_EXPORTS_W Ptr createSobelFilter(int srcType, int dstType, int dx, int dy, int ksize = 3, @@ -213,6 +231,9 @@ applied. See getDerivKernels for details. borderInterpolate. @param 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. + @sa Scharr */ CV_EXPORTS_W Ptr createScharrFilter(int srcType, int dstType, int dx, int dy, @@ -233,6 +254,9 @@ CV_EXPORTS_W Ptr createScharrFilter(int srcType, int dstType, int dx, in borderInterpolate. @param 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. + @sa GaussianBlur */ CV_EXPORTS_W Ptr createGaussianFilter(int srcType, int dstType, Size ksize, @@ -258,6 +282,9 @@ CV_EXPORTS_W Ptr createGaussianFilter(int srcType, int dstType, Size ksi is at the center. @param 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. + @sa morphologyEx */ CV_EXPORTS_W Ptr createMorphologyFilter(int op, int srcType, InputArray kernel, Point anchor = Point(-1, -1), int iterations = 1); @@ -272,6 +299,9 @@ CV_EXPORTS_W Ptr createMorphologyFilter(int op, int srcType, InputArray @param anchor Anchor point. The default value (-1) means that the anchor is at the kernel center. @param borderMode Pixel extrapolation method. For details, see borderInterpolate . @param 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. */ CV_EXPORTS_W Ptr createBoxMaxFilter(int srcType, Size ksize, Point anchor = Point(-1, -1), @@ -284,6 +314,9 @@ CV_EXPORTS_W Ptr createBoxMaxFilter(int srcType, Size ksize, @param anchor Anchor point. The default value (-1) means that the anchor is at the kernel center. @param borderMode Pixel extrapolation method. For details, see borderInterpolate . @param 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. */ CV_EXPORTS_W Ptr createBoxMinFilter(int srcType, Size ksize, Point anchor = Point(-1, -1), @@ -300,6 +333,9 @@ CV_EXPORTS_W Ptr createBoxMinFilter(int srcType, Size ksize, @param anchor Anchor point. The default value (-1) means that the anchor is at the kernel center. @param borderMode Pixel extrapolation method. For details, see borderInterpolate . @param 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. */ CV_EXPORTS_W Ptr createRowSumFilter(int srcType, int dstType, int ksize, int anchor = -1, int borderMode = BORDER_DEFAULT, Scalar borderVal = Scalar::all(0)); @@ -311,6 +347,9 @@ CV_EXPORTS_W Ptr createRowSumFilter(int srcType, int dstType, int ksize, @param anchor Anchor point. The default value (-1) means that the anchor is at the kernel center. @param borderMode Pixel extrapolation method. For details, see borderInterpolate . @param 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. */ CV_EXPORTS_W Ptr createColumnSumFilter(int srcType, int dstType, int ksize, int anchor = -1, int borderMode = BORDER_DEFAULT, Scalar borderVal = Scalar::all(0)); @@ -329,6 +368,9 @@ Outputs an image that has been filtered using a median-filtering formulation. Details on this algorithm 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. */ CV_EXPORTS_W Ptr createMedianFilter(int srcType, int windowSize, int partition = 128);