我正在使用Emgu CV,我有一个程序可以从有线IP摄像机接收帧,并使用BackgroundSubtractor
类减去背景。
过一会儿(这是随机的),它停止接收帧,这可能在5分钟内或几个小时后发生。
我已经从apply
类中追溯到BackgroundSubtractor
方法的问题。
这样称呼:_fgDetector.Apply(smoothedFrame, forgroundMask);
两个参数都是Umats
。
当我使用相同的代码但使用 Mat 而不是Umat时,代码可以工作几天。
在Visual Studio诊断中发现使用Umat
时,CPU使用率很低,这是由于卸载到GPU所预期的。使用Mat
时,我发现CPU使用率要高得多。
有人可以解释/帮助解决此问题吗?这可能是Emgu / OpenCv中的错误吗?
如果您需要更多信息,请告诉我。
答案 0 :(得分:0)
我已经用更好的型号替换了视频卡,它是Readeon HD5450,现在正在运行ATI R920x。
较旧的卡具有1 gb的内存,而较新的卡具有更多的内存,速度也快得多。该程序现在运行约3周,到目前为止没有问题。
较早的版本具有“超内存”支持,该支持使用正常的系统内存来消耗ot的内存。也许这引起了问题。
简而言之:有了更好的视频卡,到目前为止没有问题。