系统信息(版本)未能在OpenCV的GPU(CUDA)
- 的OpenCV => 3.2
- 操作系统/平台=>视窗10 64位创建过滤器
- 编译=>视觉工作室2015社区
- CUDA Toolkit版本=> 8.0
d详细描述
我正在使用基于GPU的功能和操作。我自己构建了带有CUDA支持的OpenCV,并且大多数GPU功能和操作都可以正常工作。但是,当涉及到过滤相关的功能等createGaussianFilter
或createSobelFilter
异常下面被捕获:
C:\的OpenCV \的OpenCV-3.2.0 \模块\ cudafilters \ SRC \ filtering.cpp:414:错误:( -215)rowFilter_在功能`匿名命名空间“:: SeparableLinearFilter :: SeparableLinearFilter!= 0
代码重现
// C++ code example
// A very simple snnipet
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/cuda.hpp>
#include <opencv2/cudaimgproc.hpp>
#include <opencv2/cudafilters.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
try
{
Ptr<cuda::Filter> filterX = cuda::createSobelFilter(CV_64F, CV_64F, 1, 0, 3, 1, BORDER_DEFAULT); // x direction
}
catch (cv::Exception& e)
{
const char* err_msg = e.what();
std::cout << "exception caught: " << err_msg << std::endl;
}
return 0;
}
你可以尝试用:'CUDA :: createSobelFilter(CV_32F,CV_32F,1,0,3 ,1,BORDER_DEFAULT);'? – Catree
@Catree它没关系!谢谢!但我不明白为什么?你想写一个答案,以便我可以接受它吗? –