【问题标题】:Files/directories to include in Visual Studio C++ to use CUDA?包含在 Visual Studio C++ 中以使用 CUDA 的文件/目录?
【发布时间】: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-&gt;C/C++-&gt;General-&gt;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-&gt;Linker-&gt;General-&gt;Additional Library Directories,我有:

C:\Users\me\Downloads\opencv\build\x64\vc15\lib

Property Pages-&gt;Linker-&gt;Input-&gt;Additional Dependencies,我有:

opencv_world343d.lib
opencv_world343.lib

我还应该包括什么才能让GpuMat 正常工作?

【问题讨论】:

  • 当您在调试模式下运行它时,实际的错误消息是什么?从哪一行开始?
  • imageGPU.upload(image)这一行显示unhandled exception
  • 能否检查一下图片是否从bmp成功读入?
  • 是的,我确认了

标签: c++ visual-studio opencv


【解决方案1】:

大多数情况下,是的,但是你需要知道你需要添加哪个库,可能是cufft.libcublas.lib cudnn.lib 等。这取决于您在代码中使用的函数。

【讨论】:

    【解决方案2】:

    Opencv 包含一个 cmake 包含文件,如果您使用 cmake 构建您的 VS 测试项目,它将为您设置所有这些。该文件将位于 opencv 安装目录的根目录中,即在构建 opencv 之后运行 cmake --install 或 VS 中的等效文件。该文件是 OpenCVConfig.cmake,它将包含在您项目的 CMakeLists.txt 文件中。然后您将调用 FindPackage(OpenCV),它会定位 OpenCV 安装,设置一些变量,然后您将使用这些变量链接到您的应用程序。

    如果您觉得有帮助,我可以发布一个示例 CMakeList.txt 文件。

    【讨论】:

    猜你喜欢
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 2015-05-03
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多