|
|
|
@ -50,17 +50,6 @@ |
|
|
|
|
#include "opencv2/core/gpu.hpp" |
|
|
|
|
#include "opencv2/imgproc.hpp" |
|
|
|
|
|
|
|
|
|
#if defined __GNUC__ |
|
|
|
|
#define __OPENCV_GPUFILTERS_DEPR_BEFORE__ |
|
|
|
|
#define __OPENCV_GPUFILTERS_DEPR_AFTER__ __attribute__ ((deprecated)) |
|
|
|
|
#elif (defined WIN32 || defined _WIN32) |
|
|
|
|
#define __OPENCV_GPUFILTERS_DEPR_BEFORE__ __declspec(deprecated) |
|
|
|
|
#define __OPENCV_GPUFILTERS_DEPR_AFTER__ |
|
|
|
|
#else |
|
|
|
|
#define __OPENCV_GPUFILTERS_DEPR_BEFORE__ |
|
|
|
|
#define __OPENCV_GPUFILTERS_DEPR_AFTER__ |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
namespace cv { namespace gpu { |
|
|
|
|
|
|
|
|
|
class CV_EXPORTS Filter : public Algorithm |
|
|
|
@ -77,28 +66,6 @@ public: |
|
|
|
|
CV_EXPORTS Ptr<Filter> createBoxFilter(int srcType, int dstType, Size ksize, Point anchor = Point(-1,-1), |
|
|
|
|
int borderMode = BORDER_DEFAULT, Scalar borderVal = Scalar::all(0)); |
|
|
|
|
|
|
|
|
|
// obsolete
|
|
|
|
|
|
|
|
|
|
__OPENCV_GPUFILTERS_DEPR_BEFORE__ void boxFilter(InputArray src, OutputArray dst, int dstType, |
|
|
|
|
Size ksize, Point anchor = Point(-1,-1), |
|
|
|
|
Stream& stream = Stream::Null()) __OPENCV_GPUFILTERS_DEPR_AFTER__; |
|
|
|
|
|
|
|
|
|
inline void boxFilter(InputArray src, OutputArray dst, int dstType, Size ksize, Point anchor, Stream& stream) |
|
|
|
|
{ |
|
|
|
|
Ptr<gpu::Filter> f = gpu::createBoxFilter(src.type(), dstType, ksize, anchor); |
|
|
|
|
f->apply(src, dst, stream); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
__OPENCV_GPUFILTERS_DEPR_BEFORE__ void blur(InputArray src, OutputArray dst, Size ksize, |
|
|
|
|
Point anchor = Point(-1,-1), |
|
|
|
|
Stream& stream = Stream::Null()) __OPENCV_GPUFILTERS_DEPR_AFTER__; |
|
|
|
|
|
|
|
|
|
inline void blur(InputArray src, OutputArray dst, Size ksize, Point anchor, Stream& stream) |
|
|
|
|
{ |
|
|
|
|
Ptr<gpu::Filter> f = gpu::createBoxFilter(src.type(), -1, ksize, anchor); |
|
|
|
|
f->apply(src, dst, stream); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// Linear Filter
|
|
|
|
|
|
|
|
|
@ -107,18 +74,6 @@ inline void blur(InputArray src, OutputArray dst, Size ksize, Point anchor, Stre |
|
|
|
|
CV_EXPORTS Ptr<Filter> createLinearFilter(int srcType, int dstType, InputArray kernel, Point anchor = Point(-1,-1), |
|
|
|
|
int borderMode = BORDER_DEFAULT, Scalar borderVal = Scalar::all(0)); |
|
|
|
|
|
|
|
|
|
// obsolete
|
|
|
|
|
|
|
|
|
|
__OPENCV_GPUFILTERS_DEPR_BEFORE__ void filter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernel, |
|
|
|
|
Point anchor = Point(-1,-1), int borderType = BORDER_DEFAULT, |
|
|
|
|
Stream& stream = Stream::Null()) __OPENCV_GPUFILTERS_DEPR_AFTER__; |
|
|
|
|
|
|
|
|
|
inline void filter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernel, Point anchor, int borderType, Stream& stream) |
|
|
|
|
{ |
|
|
|
|
Ptr<gpu::Filter> f = gpu::createLinearFilter(src.type(), ddepth, kernel, anchor, borderType); |
|
|
|
|
f->apply(src, dst, stream); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// Laplacian Filter
|
|
|
|
|
|
|
|
|
@ -127,18 +82,6 @@ inline void filter2D(InputArray src, OutputArray dst, int ddepth, InputArray ker |
|
|
|
|
CV_EXPORTS Ptr<Filter> createLaplacianFilter(int srcType, int dstType, int ksize = 1, double scale = 1, |
|
|
|
|
int borderMode = BORDER_DEFAULT, Scalar borderVal = Scalar::all(0)); |
|
|
|
|
|
|
|
|
|
// obsolete
|
|
|
|
|
|
|
|
|
|
__OPENCV_GPUFILTERS_DEPR_BEFORE__ void Laplacian(InputArray src, OutputArray dst, int ddepth, |
|
|
|
|
int ksize = 1, double scale = 1, int borderType = BORDER_DEFAULT, |
|
|
|
|
Stream& stream = Stream::Null()) __OPENCV_GPUFILTERS_DEPR_AFTER__; |
|
|
|
|
|
|
|
|
|
inline void Laplacian(InputArray src, OutputArray dst, int ddepth, int ksize, double scale, int borderType, Stream& stream) |
|
|
|
|
{ |
|
|
|
|
Ptr<gpu::Filter> f = gpu::createLaplacianFilter(src.type(), ddepth, ksize, scale, borderType); |
|
|
|
|
f->apply(src, dst, stream); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// Separable Linear Filter
|
|
|
|
|
|
|
|
|
@ -146,18 +89,6 @@ inline void Laplacian(InputArray src, OutputArray dst, int ddepth, int ksize, do |
|
|
|
|
CV_EXPORTS Ptr<Filter> createSeparableLinearFilter(int srcType, int dstType, InputArray rowKernel, InputArray columnKernel, |
|
|
|
|
Point anchor = Point(-1,-1), int rowBorderMode = BORDER_DEFAULT, int columnBorderMode = -1); |
|
|
|
|
|
|
|
|
|
// obsolete
|
|
|
|
|
|
|
|
|
|
__OPENCV_GPUFILTERS_DEPR_BEFORE__ void sepFilter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernelX, InputArray kernelY, |
|
|
|
|
Point anchor = Point(-1,-1), int rowBorderType = BORDER_DEFAULT, int columnBorderType = -1, |
|
|
|
|
Stream& stream = Stream::Null()) __OPENCV_GPUFILTERS_DEPR_AFTER__; |
|
|
|
|
|
|
|
|
|
inline void sepFilter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernelX, InputArray kernelY, Point anchor, int rowBorderType, int columnBorderType, Stream& stream) |
|
|
|
|
{ |
|
|
|
|
Ptr<gpu::Filter> f = gpu::createSeparableLinearFilter(src.type(), ddepth, kernelX, kernelY, anchor, rowBorderType, columnBorderType); |
|
|
|
|
f->apply(src, dst, stream); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// Deriv Filter
|
|
|
|
|
|
|
|
|
@ -174,28 +105,6 @@ CV_EXPORTS Ptr<Filter> createSobelFilter(int srcType, int dstType, int dx, int d |
|
|
|
|
CV_EXPORTS Ptr<Filter> createScharrFilter(int srcType, int dstType, int dx, int dy, |
|
|
|
|
double scale = 1, int rowBorderMode = BORDER_DEFAULT, int columnBorderMode = -1); |
|
|
|
|
|
|
|
|
|
// obsolete
|
|
|
|
|
|
|
|
|
|
__OPENCV_GPUFILTERS_DEPR_BEFORE__ void Sobel(InputArray src, OutputArray dst, int ddepth, int dx, int dy, int ksize = 3, double scale = 1, |
|
|
|
|
int rowBorderType = BORDER_DEFAULT, int columnBorderType = -1, |
|
|
|
|
Stream& stream = Stream::Null()) __OPENCV_GPUFILTERS_DEPR_AFTER__; |
|
|
|
|
|
|
|
|
|
inline void Sobel(InputArray src, OutputArray dst, int ddepth, int dx, int dy, int ksize, double scale, int rowBorderType, int columnBorderType, Stream& stream) |
|
|
|
|
{ |
|
|
|
|
Ptr<gpu::Filter> f = gpu::createSobelFilter(src.type(), ddepth, dx, dy, ksize, scale, rowBorderType, columnBorderType); |
|
|
|
|
f->apply(src, dst, stream); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
__OPENCV_GPUFILTERS_DEPR_BEFORE__ void Scharr(InputArray src, OutputArray dst, int ddepth, int dx, int dy, double scale = 1, |
|
|
|
|
int rowBorderType = BORDER_DEFAULT, int columnBorderType = -1, |
|
|
|
|
Stream& stream = Stream::Null()) __OPENCV_GPUFILTERS_DEPR_AFTER__; |
|
|
|
|
|
|
|
|
|
inline void Scharr(InputArray src, OutputArray dst, int ddepth, int dx, int dy, double scale, int rowBorderType, int columnBorderType, Stream& stream) |
|
|
|
|
{ |
|
|
|
|
Ptr<gpu::Filter> f = gpu::createScharrFilter(src.type(), ddepth, dx, dy, scale, rowBorderType, columnBorderType); |
|
|
|
|
f->apply(src, dst, stream); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// Gaussian Filter
|
|
|
|
|
|
|
|
|
@ -204,19 +113,6 @@ CV_EXPORTS Ptr<Filter> createGaussianFilter(int srcType, int dstType, Size ksize |
|
|
|
|
double sigma1, double sigma2 = 0, |
|
|
|
|
int rowBorderMode = BORDER_DEFAULT, int columnBorderMode = -1); |
|
|
|
|
|
|
|
|
|
// obsolete
|
|
|
|
|
|
|
|
|
|
__OPENCV_GPUFILTERS_DEPR_BEFORE__ void GaussianBlur(InputArray src, OutputArray dst, Size ksize, |
|
|
|
|
double sigma1, double sigma2 = 0, |
|
|
|
|
int rowBorderType = BORDER_DEFAULT, int columnBorderType = -1, |
|
|
|
|
Stream& stream = Stream::Null()) __OPENCV_GPUFILTERS_DEPR_AFTER__; |
|
|
|
|
|
|
|
|
|
inline void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigma1, double sigma2, int rowBorderType, int columnBorderType, Stream& stream) |
|
|
|
|
{ |
|
|
|
|
Ptr<gpu::Filter> f = gpu::createGaussianFilter(src.type(), -1, ksize, sigma1, sigma2, rowBorderType, columnBorderType); |
|
|
|
|
f->apply(src, dst, stream); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// Morphology Filter
|
|
|
|
|
|
|
|
|
@ -224,38 +120,6 @@ inline void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sig |
|
|
|
|
//! supports CV_8UC1 and CV_8UC4 types
|
|
|
|
|
CV_EXPORTS Ptr<Filter> createMorphologyFilter(int op, int srcType, InputArray kernel, Point anchor = Point(-1, -1), int iterations = 1); |
|
|
|
|
|
|
|
|
|
// obsolete
|
|
|
|
|
|
|
|
|
|
__OPENCV_GPUFILTERS_DEPR_BEFORE__ void erode(InputArray src, OutputArray dst, InputArray kernel, |
|
|
|
|
Point anchor = Point(-1, -1), int iterations = 1, |
|
|
|
|
Stream& stream = Stream::Null()) __OPENCV_GPUFILTERS_DEPR_AFTER__; |
|
|
|
|
|
|
|
|
|
inline void erode(InputArray src, OutputArray dst, InputArray kernel, Point anchor, int iterations, Stream& stream) |
|
|
|
|
{ |
|
|
|
|
Ptr<gpu::Filter> f = gpu::createMorphologyFilter(MORPH_ERODE, src.type(), kernel, anchor, iterations); |
|
|
|
|
f->apply(src, dst, stream); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
__OPENCV_GPUFILTERS_DEPR_BEFORE__ void dilate(InputArray src, OutputArray dst, InputArray kernel, |
|
|
|
|
Point anchor = Point(-1, -1), int iterations = 1, |
|
|
|
|
Stream& stream = Stream::Null()) __OPENCV_GPUFILTERS_DEPR_AFTER__; |
|
|
|
|
|
|
|
|
|
inline void dilate(InputArray src, OutputArray dst, InputArray kernel, Point anchor, int iterations, Stream& stream) |
|
|
|
|
{ |
|
|
|
|
Ptr<gpu::Filter> f = gpu::createMorphologyFilter(MORPH_DILATE, src.type(), kernel, anchor, iterations); |
|
|
|
|
f->apply(src, dst, stream); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
__OPENCV_GPUFILTERS_DEPR_BEFORE__ void morphologyEx(InputArray src, OutputArray dst, int op, |
|
|
|
|
InputArray kernel, Point anchor = Point(-1, -1), int iterations = 1, |
|
|
|
|
Stream& stream = Stream::Null()) __OPENCV_GPUFILTERS_DEPR_AFTER__; |
|
|
|
|
|
|
|
|
|
inline void morphologyEx(InputArray src, OutputArray dst, int op, InputArray kernel, Point anchor, int iterations, Stream& stream) |
|
|
|
|
{ |
|
|
|
|
Ptr<gpu::Filter> f = gpu::createMorphologyFilter(op, src.type(), kernel, anchor, iterations); |
|
|
|
|
f->apply(src, dst, stream); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// Image Rank Filter
|
|
|
|
|
|
|
|
|
@ -282,7 +146,4 @@ CV_EXPORTS Ptr<Filter> createColumnSumFilter(int srcType, int dstType, int ksize |
|
|
|
|
|
|
|
|
|
}} // namespace cv { namespace gpu {
|
|
|
|
|
|
|
|
|
|
#undef __OPENCV_GPUFILTERS_DEPR_BEFORE__ |
|
|
|
|
#undef __OPENCV_GPUFILTERS_DEPR_AFTER__ |
|
|
|
|
|
|
|
|
|
#endif /* __OPENCV_GPUFILTERS_HPP__ */ |
|
|
|
|