使用 NUGET PAckage Manager 安装的 OpenCvSharp 未检测到 CUDA 设备
OpenCvSharp installed using NUGET PAckage Manager not detecting a CUDA Device
我正在尝试使用 OpenCvSharp
包含 GPU。我在 Microsoft Visual Studio 2013 中使用 Nuget 包管理器安装了 OpenCvSharp。
我已经包含了这些行
using OpenCvSharp;
using OpenCvSharp.CPlusPlus;
using OpenCvSharp.CPlusPlus.Gpu;
但是当我检查设备数量时
//GPU
int count = Cv2Gpu.GetCudaEnabledDeviceCount();
//int count = Cv2Gpu.ge
Console.WriteLine("The GPU Device count is " + count.ToString());
它总是 returns 0。
现在它还说如果 OpenCv
不是用 CUDA
编译的,那么它总是 returns 0。
它甚至没有得到 DeviceDetails
。
我已经通过构建 opencv_core.dll 和 opencv_gpu.dll 解决了这个问题。
用Cmake制作opencv的源代码,在配置源代码时不要忘记select "withcuda"选项。
生成后打开构建文件夹中的 OpenCv 解决方案,首先构建 opencv_core,然后 opencv_gpu。
在 bin 文件夹中获得 dll 后,将它们替换到 opencvsharp 包文件夹中。现在再次构建项目。现在项目会将新的 dll 复制到所需的文件夹中。
我正在尝试使用 OpenCvSharp
包含 GPU。我在 Microsoft Visual Studio 2013 中使用 Nuget 包管理器安装了 OpenCvSharp。
我已经包含了这些行
using OpenCvSharp;
using OpenCvSharp.CPlusPlus;
using OpenCvSharp.CPlusPlus.Gpu;
但是当我检查设备数量时
//GPU
int count = Cv2Gpu.GetCudaEnabledDeviceCount();
//int count = Cv2Gpu.ge
Console.WriteLine("The GPU Device count is " + count.ToString());
它总是 returns 0。
现在它还说如果 OpenCv
不是用 CUDA
编译的,那么它总是 returns 0。
它甚至没有得到 DeviceDetails
。
我已经通过构建 opencv_core.dll 和 opencv_gpu.dll 解决了这个问题。
用Cmake制作opencv的源代码,在配置源代码时不要忘记select "withcuda"选项。
生成后打开构建文件夹中的 OpenCv 解决方案,首先构建 opencv_core,然后 opencv_gpu。
在 bin 文件夹中获得 dll 后,将它们替换到 opencvsharp 包文件夹中。现在再次构建项目。现在项目会将新的 dll 复制到所需的文件夹中。