OpenCV 中 Mat 等结构的内存分配
Posted
技术标签:
【中文标题】OpenCV 中 Mat 等结构的内存分配【英文标题】:Memory allocation for structures like Mat in OpenCV 【发布时间】:2014-03-18 18:48:33 【问题描述】:我知道 Mat a = b 只是将 b 的引用复制到 a,没有分配单独的内存。
但是在下面的代码中:
VideoCapture cap(0);
Mat frame;
for(i = 0; i<10; i++)
cap.read(frame);
在每次迭代中,都会更新 Mat 变量。这是否意味着在每个循环中都会分配新的内存。如果是这样,之前分配的内存会发生什么?是毁了还是没毁?在 10 次迭代结束时,系统中使用的内存是否等于 10*sizeof(Mat) 或者每次更新 A 时都会覆盖分配给 Mat 帧的内存?
【问题讨论】:
【参考方案1】:在这种情况下,VideoCapture
会更新 frame
,并且不会创建 Mat
的新副本。 Mat
在每次迭代中都会被覆盖。
【讨论】:
以上是关于OpenCV 中 Mat 等结构的内存分配的主要内容,如果未能解决你的问题,请参考以下文章