写在前言
最近重写项目源码过程中,发现Mat使用中拷贝,赋值等问题的坑坑,想来想去还是写下来吧,遗忘在大脑里,不如烂在博客里。
Mat类拷贝方法
目前笔者所使用的Mat类的拷贝方法:浅拷贝与深拷贝。
1.浅拷贝
Mat A;
/* 下面两种形式都是将 A 拷贝给 B, */
Mat B=A
Mat B(A)
这类拷贝方法仅创建了新的矩阵头,共用同一个内存空间,在修改新对象的时候,旧对象也会改变。
举个例子如下
#include<iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char* argv[]