OpenCV-Mat源码解析
熊彬程的博客
这个作者很懒,什么都没留下…
展开
-
Mat-深拷贝函数
之前谈到过Mat的拷贝构造函数和以Mat为形参的赋值运算符都是在执行浅拷贝的操作,因为在拷贝或者赋值的时候只是重新开辟内存存储了信息头,而矩阵头的内容仍然是共享的。既然有浅拷贝那么就应该有深拷贝。下面介绍两个实现深拷贝的函数[1]和[2]的实现://! returns deep copy of the matrix, i.e. the data is copied [1]Mat clone(原创 2017-08-03 10:36:00 · 1999 阅读 · 0 评论 -
Mat-赋值运算符
Mat有三个赋值运算符,分别如下所示: //! assignment operators [1]Mat& operator = (const Mat& m); [2]Mat& operator = (const MatExpr& expr); [3]Mat& operator = (const Scalar& s); 可以看到,他们都重载了=运算符,[3]在Mat的构造原创 2017-08-03 10:05:08 · 903 阅读 · 0 评论 -
Mat-构造函数与析构函数
Mat总共有24个构造函数,包括一个默认构造函数以及23个重载了的构造函数函数列表如下: //! default constructor Mat(); //! constructs 2D matrix of the specified size and type // (_type is CV_8UC1, CV_64FC3, CV_32SC(12) etc.)原创 2017-08-02 23:04:00 · 3105 阅读 · 0 评论 -
Mat-获取指定行列数据
在我们使用Mat类型的对象的时候,有时会想直接获取比如第一行的数据、最后一列的数据等等。Mat数据结构提供了这样的接口给我们使用,接口列表如下: //! returns a new matrix header for the specified row [1]Mat row(int y) const; //! returns a new matrix header for the s原创 2017-08-03 11:18:17 · 6633 阅读 · 0 评论 -
Mat-成员变量的flags的含义
在Mat中flags的定义如下:/*! includes several bit-fields: - the magic signature - continuity flag - depth - number of channels */ int flags;从其描述可以看到,flags是一个int型变量,占4原创 2017-08-04 15:15:38 · 3083 阅读 · 0 评论