CV---Mat内存理解

本文详细介绍了OpenCV中Mat类的内存管理,包括通过create()、构造函数创建内存,浅拷贝与深拷贝的区别,以及如何通过析构函数和release()进行内存释放。重点讨论了Mat在数据创建、拷贝和释放过程中的内存计数器变化。
摘要由CSDN通过智能技术生成

Mat内存理解

  1. Mat:矩阵类,是一个矩阵数据的管理类(也可以理解为多维数组管理类)。
  2. 内存管理:Mat数据的创建与传递。

内存创建:

create()---创建已知大小的内存块;

有参构造函数--创建已知大小或数据的内存块;

无参构造函数--只创建数据接口指针;

内存拷贝:

浅拷贝:只是拷贝数据的一个引用,增加一次内存计数器计数,共享数据内存块;

有:Mat的构造函数,赋值函数,拷贝赋值函数;copySize()函数--重新分配内存大小;

Mat& Mat::operator = (const Mat& m)
{
    if( this != &m )
    {
        if( m.u )
            CV_XADD(&m.u->refcount, 1);
        release();
        flags = m.flags;
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值