Mat之间的复制

OpenCV里的Mat矩阵复制分为“浅拷贝”、“深拷贝”两种,
“浅拷贝”:共享同一块内存空间,改变其中一个Mat 矩阵的值,另一个也会改变;
“深拷贝”:不共享同一块内存空间,两个矩阵的数据相同,但是互不影响。
A为原矩阵,B为被赋值矩阵,则
“B=A;” 为浅拷贝,
“A.copyTo(B);"为深拷贝,但若A与B的尺寸不同,则会重新为B分配空间,否则B仍用原先的空间,
" B=A.clone();"为深拷贝,不论A、B尺寸是否相同,在进行复制之前,该函数都会调用 m.create(this->size(), this->type());即重新为B分配空间。

参考:https://blog.csdn.net/DreamLike_zzg/article/details/79169336
https://blog.csdn.net/zqun817/article/details/81836916

发布了8 篇原创文章 · 获赞 0 · 访问量 346

猜你喜欢

转载自blog.csdn.net/ipanda_huanhuan/article/details/103862327
Mat