系統信息(版本)未能在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它沒關係!謝謝!但我不明白爲什麼?你想寫一個答案,以便我可以接受它嗎? –