**
前言
**
加油啊!现在是学习core组件的时候了,虽然不知道有些什么内容,但是根据《Opencv3编程入门》看总共就只剩下,imgproc组件和feature2d组件了。真想快点入门,好有水平深入学习。
**
Mat类
**
Mat类由两个数据部分组成:矩阵头-----包括矩阵尺寸、存储方法、存储地址等信息。还有一个指向所有像素值的矩阵------根据所选存储方法的不同,矩阵可以是不同的维度----的指针。另外注意,一般情况下所有像素值的矩阵的元素在内存上是连续存储的,即无论几个维度,都会转换成1维存储----有时候则不是连续的。
矩阵头的尺寸是常数,但是矩阵本身的尺寸会改变,通常比矩阵头大数个数量级。因此,当程序中传递图像并创建副本时,大开销是由矩阵造成的。那么,除非万不得已,不应该进行大图像的复制,那会降低程序的运行速度。
- 为了解决此问题,Opencv使用了引用计数机制------与智能指针相关------思路是让每个Mat对象有自己的信息头,但共享一个矩阵。这通过让矩阵指针指向同一地址实现。而拷贝构造函数只负责复制信息头和矩阵指针,不复制矩阵。
#