[英]Files/directories to include in Visual Studio C++ to use CUDA?
我想在 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);
cuda::fastNlMeansDenoising(imageGPU, downloadGPU, 2.5, 7, 31);
downloadGPU.download(buff);
imwrite("gpu.bmp", buff);
return 0;
}
但我得到一個unhandled exception
錯誤。
我最初在C:\Users\me\Downloads\opencv
中下載了 OpenCV
然后,我在C:\Users\me\Downloads\opencv-master1\opencv-master
在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
正常工作?
大多數情況下,是的,但是您需要知道需要添加哪個庫,它可能是cufft.lib 、 cublas.lib 、 cudnn.lib等。這取決於您在代碼中使用的 function。
Opencv 包含一個 cmake 包含文件,如果您使用 cmake 構建您的 VS 測試項目,它將為您設置所有這些。 該文件將位於 opencv 安裝目錄的根目錄中,即在構建 opencv 之后運行 cmake --install 或 VS 中的等效項。 該文件是 OpenCVConfig.cmake,它將包含在您項目的 CMakeLists.txt 文件中。 然后你會調用 FindPackage(OpenCV),它會找到 OpenCV 安裝,設置一些變量,然后你將使用它們鏈接到你的應用程序。
如果您覺得有幫助,我可以發布一個示例 CMakeList.txt 文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.