OPENCV深拷贝和浅拷贝
来源:互联网 发布:德语助手软件注册码 编辑:程序博客网 时间:2024/06/07 06:30
浅拷贝:也就是在对象复制时,只是对对象中的数据成员进行简单的赋值,如果对象中存在动态成员,即指针,浅拷贝就会出现问题。
深拷贝:对于深拷贝,针对成员变量存在指针的情况,不仅仅是简单的指针赋值,而是重新分配内存空间。深拷贝采用了在堆内存中申请新的空间来存储数据,这样每个可以避免指针悬挂。
用一句简单的话来说就是浅拷贝只是对指针的拷贝,拷贝后两个指针指向同一个内存空间,深拷贝不但对指针进行拷贝,而且对指针指向的内容进行拷贝,经深拷贝后的指针是指向两个不同地址的指针。
Mat src; src = imread("C:\\Users\\934554314\\Desktop\\1.jpg", 0); Mat dst; dst = src; blur(src, dst, Size(3, 3), Point(0, 0), 4); namedWindow("src", CV_NORMAL); imshow("src", src); namedWindow("dst", CV_NORMAL); imshow("dst", dst);
这里我们在处理dst这个图片的时候,相当于就是处理src,因为这属于浅拷贝,直接把src的数据给到dst.因此最后的结果就是src和dst的数据一致。
Mat src; src = imread("C:\\Users\\934554314\\Desktop\\1.jpg", 0); Mat dst; //dst = src.clone();//这两种方法都是属于深拷贝 src.copyTo(dst); blur(src, dst, Size(3, 3), Point(0, 0), 4); namedWindow("src", CV_NORMAL); imshow("src", src); namedWindow("dst", CV_NORMAL); imshow("dst", dst);
这里因为做了深拷贝,相当于复制了一个src给到dst,因此结果不一致。
阅读全文
0 0
- opencv 中的浅拷贝和深拷贝
- OPENCV深拷贝和浅拷贝
- opencv浅拷贝与深拷贝
- 浅拷贝和深拷贝
- 浅拷贝和深拷贝
- 浅拷贝和深拷贝
- 深拷贝和浅拷贝
- 深拷贝和浅拷贝
- 深拷贝和浅拷贝
- 浅拷贝和深拷贝
- 浅拷贝和深拷贝
- 深拷贝和浅拷贝
- 深拷贝和浅拷贝
- 浅拷贝和深拷贝
- 浅拷贝和深拷贝
- 浅拷贝和深拷贝
- 深拷贝 和 浅拷贝
- 浅拷贝和深拷贝
- UE4学习笔记3rd:配置游戏输入
- 折叠标题栏设置属性解析
- JavaScript权威指南读书笔记——第十四章 Window对象
- 第一个libevent程序
- 4.three.js中的坐标系
- OPENCV深拷贝和浅拷贝
- Vue.js 会成为像 Angular 和 React 那样的巨头吗?
- 反转链接详解
- [第七季]11.遍历元素的父辈和祖先
- CSS知识总结(未完成)
- 基于mysqli封装的数据库类
- 网站开发(十一)实战后台首页管理和文章管理
- SSH的基本使用
- LeetCode-TwoSum