【发布时间】:2020-11-11 11:43:24
【问题描述】:
我想在 Visual Studio 的 OpenCV 中使用 CUDA/GPU。例如,cuda::GpuMat。我使用启用了 CUDA 的额外模块成功构建了 OpenCV
我尝试了以下代码
#include <string>
#include <opencv2/core/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/photo/cuda.hpp>
#include <opencv2/photo.hpp>
using namespace std;
using namespace cv;
int main(){
string imageName("input.bmp");
//CPU version
Mat image = imread(imageName.c_str(), IMREAD_GRAYSCALE);
//CUDA version
cuda::GpuMat imageGPU;
cuda::GpuMat downloadGPU;
Mat buff;
imageGPU.upload(image);
downloadGPU.download(buff);
imwrite("gpu.bmp", buff);
return 0;
}
但我收到 unhandled exception 错误。
我最初在C:\Users\me\Downloads\opencv下载OpenCV
然后我下载并安装了最新的 OpenCV 额外模块,其中开启了 CUDA
在Property Pages->C/C++->General->Additional Include Directories,我有:
C:\Users\me\Downloads\opencv\build\include\opencv
C:\Users\me\Downloads\opencv\build\include\opencv2
C:\Users\me\Downloads\opencv\build\include\
在Property Pages->Linker->General->Additional Library Directories,我有:
C:\Users\me\Downloads\opencv\build\x64\vc15\lib
在Property Pages->Linker->Input->Additional Dependencies,我有:
opencv_world343d.lib
opencv_world343.lib
我还应该包括什么才能让GpuMat 正常工作?
【问题讨论】:
-
当您在调试模式下运行它时,实际的错误消息是什么?从哪一行开始?
-
在
imageGPU.upload(image)这一行显示unhandled exception -
能否检查一下图片是否从bmp成功读入?
-
是的,我确认了
标签: c++ visual-studio opencv