C++ OpenCV 3.0上的GPU功能在哪里?

C++ OpenCV 3.0上的GPU功能在哪里?,c++,opencv,cuda,C++,Opencv,Cuda,我知道在OpenCV 3.0中,GPU模块已经被CUDA模块所取代,或者更好的是,它已经被拆分成几个模块 因此,cv::gpu::GpuMat已被cv::cuda::GpuMat取代,很好 但是功能呢 例如,将以下内容移动到: cv::gpu::GaussianBlurr ? cv::gpu::Stream stream; stream.enqueueConvert(...) 显然,它们不在cuda模块下(例如,nocv::cuda::GaussianBlur)。在OpenCV 3.0中可以在

我知道在OpenCV 3.0中,GPU模块已经被CUDA模块所取代,或者更好的是,它已经被拆分成几个模块

因此,
cv::gpu::GpuMat
已被
cv::cuda::GpuMat
取代,很好

但是功能呢

例如,将以下内容移动到:

cv::gpu::GaussianBlurr ?
cv::gpu::Stream stream;
stream.enqueueConvert(...)

显然,它们不在cuda模块下(例如,no
cv::cuda::GaussianBlur
)。在OpenCV 3.0中可以在哪里找到此功能?

所有CUDA加速过滤器(模糊、高斯模糊、Sobel等)都位于
cudafilters
模块中:

新API使用基于Algorthim的方法:

cv::Ptr<cv::cuda::Filter> filter = cv::cuda::createGaussianFilter(src.type(), dst.type(), ksize, sigma);
filter->apply(src, dst);
cv::Ptr filter=cv::cuda::createGaussianFilter(src.type()、dst.type()、ksize、sigma);
过滤器->应用(src、dst);

新方法有助于减少内部缓冲区的内存分配,并减少过滤器初始化阶段的开销。

所有CUDA加速过滤器(模糊、高斯模糊、Sobel等)都位于
cudafilters
模块中:

新API使用基于Algorthim的方法:

cv::Ptr<cv::cuda::Filter> filter = cv::cuda::createGaussianFilter(src.type(), dst.type(), ksize, sigma);
filter->apply(src, dst);
cv::Ptr filter=cv::cuda::createGaussianFilter(src.type()、dst.type()、ksize、sigma);
过滤器->应用(src、dst);

新方法有助于减少内部缓冲区的内存分配,并减少过滤器初始化阶段的开销。

我不熟悉OpenCV代码库,但快速查看一下存储库,CUDA加速
GaussianBlur()
似乎在module
cudaoptflow
中。不幸的是,我甚至没有找到包含cudaoptflow的GaussianBlur。我在opencv/modules/cudaoptflow/src/cuda/farneback.cu中找到了GaussianBlur的源代码。可能由于构建配置问题,此代码未包含在您的构建中?我不熟悉OpenCV代码库,但快速查看一下存储库,CUDA加速
GaussianBlur()
似乎在module
cudaoptflow
中。不幸的是,我甚至没有找到包含cudaoptflow的GaussianBlur。我在opencv/modules/cudaoptflow/src/cuda/farneback.cu中找到了GaussianBlur的源代码。可能由于生成配置问题,此代码未包含在生成中?