使用 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 复制到所需的文件夹中。