我目前正在使用EmguCV QueryFrame
方法来捕获帧。代码就是这样,在我的processFrame
方法中:
using(Image<Bgr, Byte> imgOriginal = _capture.QueryFrame()){
if(imgOriginal == null) return;
using(Image<Gray, Byte> grayImg = imgOriginal.Convert<Gray, Byte>()){
//some stuff with grayImg
}
}
我面临的问题是我一直遇到OutOfMemory
例外。在使用MemProfiler
进一步检查后,我发现命名空间Byte[,,]
的{{1}}对象占用的内存比其他任何内容都多。我能想到的唯一System
是捕获的Byte[,,]
框架Bgr
。
这使我相信即使使用块中的代码尚未执行,imgOriginal
对象仍继续查询新帧。这是真的?还是有其他原因吗?有什么方法可以解决这个问题吗?
任何帮助将不胜感激。谢谢。