当重新分配或作为ROI时,是否会自动释放Mat指针,源Mat被释放

Will a Mat pointer be automatically released when being reassigned or as an ROI, source Mat is released?

本文关键字:Mat 释放 是否 指针 ROI 新分配 分配      更新时间:2023-10-16

我试图清楚地了解Mat (OpenCV)在许多特定情况下是如何工作的。我在这篇文章中询问的案例如下:

  1. 当Mat指针被重新分配到其他位置时,以前的头和数据内存会被自动释放吗?例如:

    Mat *m = XXX;
    m = YYY;
    
  2. 如果我调用sourceMat.release(),它也释放头m吗?

    Mat m = sourceMat(Rect);
    

对于第二个问题,答案是NO

从OpenCV的文档中,Mat Mat::operator()(const Rect& roi) const将创建一个新的头文件。因此释放sourceMat不会影响m