我正在构建一个应用程序,它使用CPU和GPU方法比较来自网络摄像头的1,000,10000和100,000帧计算集的时间刻度。
到目前为止,我已经编写了CPU实现,但现在我需要将我的GPU算法集成到我的项目中。
我做了研究后选择了Emgu,发现它允许用C#支持Open-CV和CUDA。但是我现在面临的问题是VS2012没有注意到我的程序中的__global__
次调用。
以下是我正在使用的命名空间:
using Emgu.CV;
using Emgu.Util;
using Emgu.CV.Structure;
using Emgu.CV.GPU;
using DirectShowLib;
我已成功链接到我认为所有适用的库,以使CUDA与Emgu合作:
考虑到这一点,我做错了什么?
答案 0 :(得分:1)
在我看来,可能是不正确的EMGU版本,我遇到的大部分EMGU问题都是由于版本不正确。
我不得不使用2.4.9版本来启动GPU并运行良好。
可以通过以下链接下载:
http://sourceforge.net/projects/emgucv/files/emgucv/2.4.9-alpha/
我正在使用此下载中找到的2.4.9版本DLL。
希望这有帮助!
祝你好运修改强>
可能有用的代码段
using System.Threading;
using System.Threading.Tasks;
Parallel.For(0, facesDetected.Length, i =>
{
try
{
// Code in here
}
catch
{
}
});