使用NUGET PAckage Manager安装的OpenCvSharp未检测到CUDA设备

时间:2015-09-09 16:18:54

标签: c# opencv nvidia opencvsharp

我正在尝试使用OpenCvSharp包含GPU。我在Microsoft Visual Studio 2013中使用Nuget Package Manager安装了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());

它总是返回0.

现在它还说如果OpenCv没有用CUDA编译,那么它总是返回0。 它甚至没有DeviceDetails

1 个答案:

答案 0 :(得分:0)

我通过构建opencv_core.dll和opencv_gpu.dll解决了这个问题。

使用Cmake制作opencv的源代码,并且在首先配置源代码时不要忘记选择“withcuda”选项。

生成之后,然后在build文件夹中打开OpenCv解决方案,首先构建opencv_core,然后再打开opencv_gpu。

一旦你在bin文件夹中获得了dll,就在opencvsharp包文件夹中替换它们。现在再次构建项目。现在项目将新的dll复制到所需的文件夹。