如何适当地摧毁mxArray由ocvMxArrayFromImage_{数据类型}功能

1视图(30天)
亲爱的,我试图将Matlab代码集成到c++程序OpenCV。我发现这个项目将逐渐增加内存的使用。
一些工作后,我相信这个问题与破坏mxArray。我写了一个简单的测试程序与一个无限循环,不断创建mxArray并摧毁它,如下所示
简历::垫imageMat =简历::imread (imagePath);
(真正的)
{
mxArray * imageMXA = ocvMxArrayFromImage_uint8 (imageMat);
mxDestroyArray (imageMXA);
}
这个项目将逐渐增加内存使用。
然而,另一个测试程序,创建mxArray mxCreateNumericArray没有这样的问题。代码如下所示
(真正的)
{
mxArray * imageMXA = mxCreateNumericArray (dimensionNumber、维度mxDOUBLE_CLASS mxREAL);
mxDestroyArray (imageMXA);
}
似乎有一些错误的代码中摧毁mxArray由ocvMxArrayFromImage_{数据类型}函数。我的问题是,我该如何适当地破坏这种mxArray吗?
7评论
埃迪邱
埃迪邱 2018年3月29日
在一般情况下,是的。这个函数和ocvMxArrayFromImage_uint8花费0.001秒转换640 x480形象。这个函数并不会增加破坏mxArray后内存使用。需要~ 0.25秒第一次执行死刑的可能性,但这不是一个大问题。

登录置评。

答案(0)

标签

s manbetx 845

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!