[英]How do I dispose a Matrix Array in OpenCVSharp?
为了释放 OpenCVSharp.Mat 对象的内存,我根据文档使用 ResourceTracker:
using (ResourcesTracker t = new ResourcesTracker())
{
Mat finalMat = t.T(new Mat());
}
但是,这种语法似乎不适用于像这样使用的 Mats 数组:
Mat[] images = t.T(new Mat[length]);
这给了我一个 System.ArgumentNullException,“值不能为 NULL”。
我试过调用 Array 的.Dispose()
,但这似乎对内存没有影响。
我意识到我可以让垃圾收集完成这项工作,但我宁愿正确地完成它。
我最终这样做了:
for (int j = 0; j<i; j++)
{
images[j].Dispose();
}
虽然并没有真正改变任何东西,但我不太明白为什么当它们是数组而不是单个 Mat 项目时我不需要处置这些项目。
我的内存泄漏来自使用stitcher 方法而不是使用stitcher.Dispose();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.