|
| | Mat_ () CV_NOEXCEPT |
| | 默认构造函数
|
| |
| | Mat_ (const Mat &m) |
| | 复制/转换构造函数。如果 m 是不同类型,则会进行转换。
|
| |
| | Mat_ (const Mat_ &m) |
| | 拷贝构造函数
|
| |
| | Mat_ (const Mat_ &m, const Range &rowRange, const Range &colRange=Range::all()) |
| | 选择一个子矩阵
|
| |
| | Mat_ (const Mat_ &m, const Range *ranges) |
| | 选择一个子矩阵,n维版本
|
| |
| | Mat_ (const Mat_ &m, const Rect &roi) |
| | 选择一个子矩阵
|
| |
| | Mat_ (const Mat_ &m, const std::vector< Range > &ranges) |
| | 选择一个子矩阵,n维版本
|
| |
| | Mat_ (const MatCommaInitializer_< _Tp > &commaInitializer) |
| |
| | Mat_ (const MatExpr &e) |
| | 来自矩阵表达式
|
| |
| template<int m, int n> |
| | Mat_ (const Matx< typename DataType< _Tp >::channel_type, m, n > &mtx, bool copyData=true) |
| |
| | Mat_ (const Point3_< typename DataType< _Tp >::channel_type > &pt, bool copyData=true) |
| |
| | Mat_ (const Point_< typename DataType< _Tp >::channel_type > &pt, bool copyData=true) |
| |
| template<std::size_t _Nm> |
| | Mat_ (const std::array< _Tp, _Nm > &arr, bool copyData=false) |
| |
| | Mat_ (const std::initializer_list< int > sizes, const std::initializer_list< _Tp > values) |
| |
| | Mat_ (const std::vector< _Tp > &vec, bool copyData=false) |
| | 从 Vec、std::vector、Point_ 或 Point3_ 创建一个矩阵。矩阵将具有单列。
|
| |
| template<int n> |
| | Mat_ (const Vec< typename DataType< _Tp >::channel_type, n > &vec, bool copyData=true) |
| |
| | Mat_ (int _ndims, const int *_sizes) |
| | n维数组构造函数
|
| |
| | Mat_ (int _ndims, const int *_sizes, _Tp *_data, const size_t *_steps=0) |
| | 在用户分配的数据之上构造n维矩阵。步长以字节为单位(!!!),与类型无关。
|
| |
| | Mat_ (int _ndims, const int *_sizes, const _Tp &value) |
| | n维数组构造函数,将每个矩阵元素设置为指定值
|
| |
| | Mat_ (int _rows, int _cols) |
| | 等同于 Mat(_rows, _cols, DataType<_Tp>::type)
|
| |
| | Mat_ (int _rows, int _cols, _Tp *_data, size_t _step=AUTO_STEP) |
| | 在用户分配的数据之上构造矩阵。步长以字节为单位(!!!),与类型无关。
|
| |
| | Mat_ (int _rows, int _cols, const _Tp &value) |
| | 构造函数,将每个矩阵元素设置为指定值
|
| |
| | Mat_ (Mat &&m) |
| |
| | Mat_ (Mat_ &&m) |
| |
| | Mat_ (MatExpr &&e) |
| |
| | Mat_ (Size _size) |
| | 等同于 Mat(_size, DataType<_Tp>::type)
|
| |
| | Mat_ (Size _size, const _Tp &value) |
| | 构造函数,将每个矩阵元素设置为指定值
|
| |
| | Mat_ (std::initializer_list< _Tp > values) |
| |
| Mat_ & | adjustROI (int dtop, int dbottom, int dleft, int dright) |
| | 更多重写方法
|
| |
| iterator | begin () |
| | 迭代器;它们足够智能,可以跳过行尾的间隙
|
| |
| const_iterator | begin () const |
| |
| int | channels () const |
| |
| CV_NODISCARD_STD Mat_ | clone () const |
| |
| Mat_ | col (int x) const |
| |
| void | create (int _ndims, const int *_sizes) |
| | 等同于 Mat::create(_ndims, _sizes, DatType<_Tp>::type)
|
| |
| void | create (int _rows, int _cols) |
| | 等同于 Mat::create(_rows, _cols, DataType<_Tp>::type)
|
| |
| void | create (Size _size) |
| | 等同于 Mat::create(_size, DataType<_Tp>::type)
|
| |
| Mat_ | cross (const Mat_ &m) const |
| | 叉积
|
| |
| int | depth () const |
| |
| Mat_ | diag (int d=0) const |
| |
| size_t | elemSize () const |
| | Mat::elemSize() 等的重写形式
|
| |
| size_t | elemSize1 () const |
| |
| iterator | end () |
| |
| const_iterator | end () const |
| |
| template<typename Functor > |
| void | forEach (const Functor &operation) |
| | 用于所有矩阵元素操作的模板方法。
|
| |
| template<typename Functor > |
| void | forEach (const Functor &operation) const |
| |
| template<typename T2 > |
| | operator Mat_< T2 > () const |
| | 数据类型转换
|
| |
| template<int m, int n> |
| | operator Matx< typename DataType< _Tp >::channel_type, m, n > () const |
| | 转换为 Matx
|
| |
| template<std::size_t _Nm> |
| | operator std::array< _Tp, _Nm > () const |
| | 转换为数组。
|
| |
| | operator std::vector< _Tp > () const |
| | 转换为向量。
|
| |
| template<int n> |
| | operator Vec< typename DataType< _Tp >::channel_type, n > () const |
| | 转换为 Vec
|
| |
| _Tp & | operator() (const int *idx) |
| | 返回指定元素的引用
|
| |
| const _Tp & | operator() (const int *idx) const |
| | 返回指定元素的只读引用
|
| |
| Mat_ | operator() (const Range &rowRange, const Range &colRange) const |
| |
| Mat_ | operator() (const Range *ranges) const |
| |
| Mat_ | operator() (const Rect &roi) const |
| |
| Mat_ | operator() (const std::vector< Range > &ranges) const |
| |
| template<int n> |
| _Tp & | operator() (const Vec< int, n > &idx) |
| | 返回指定元素的引用
|
| |
| template<int n> |
| const _Tp & | operator() (const Vec< int, n > &idx) const |
| | 返回指定元素的只读引用
|
| |
| _Tp & | operator() (int idx0) |
| | 返回指定元素的引用 (1D情况)
|
| |
| const _Tp & | operator() (int idx0) const |
| | 返回指定元素的只读引用 (1D情况)
|
| |
| _Tp & | operator() (int idx0, int idx1, int idx2) |
| | 返回指定元素的引用 (3D情况)
|
| |
| const _Tp & | operator() (int idx0, int idx1, int idx2) const |
| | 返回指定元素的只读引用 (3D情况)
|
| |
| _Tp & | operator() (int row, int col) |
| | 返回指定元素的引用 (2D情况)
|
| |
| const _Tp & | operator() (int row, int col) const |
| | 返回指定元素的只读引用 (2D情况)
|
| |
| _Tp & | operator() (Point pt) |
| |
| const _Tp & | operator() (Point pt) const |
| |
| Mat_ & | operator= (const _Tp &s) |
| | 将所有元素设置为 s。
|
| |
| Mat_ & | operator= (const Mat &m) |
| |
| Mat_ & | operator= (const Mat_ &m) |
| |
| Mat_ & | operator= (const MatExpr &e) |
| | 分配一个矩阵表达式
|
| |
| Mat_ & | operator= (Mat &&m) |
| |
| Mat_ & | operator= (Mat_ &&m) |
| |
| _Tp * | operator[] (int y) |
| | more convenient forms of row and element access operators
|
| |
| const _Tp * | operator[] (int y) const |
| |
| std::reverse_iterator< iterator > | rbegin () |
| |
| std::reverse_iterator< const_iterator > | rbegin () const |
| |
| void | release () |
| | 等同于 Mat::release()
|
| |
| std::reverse_iterator< iterator > | rend () |
| |
| std::reverse_iterator< const_iterator > | rend () const |
| |
| Mat_ | row (int y) const |
| | Mat::row() 等的重写形式
|
| |
| size_t | step1 (int i=0) const |
| |
| size_t | stepT (int i=0) const |
| | 返回 step()/sizeof(_Tp)
|
| |
| int | type () const |
| |
| | Mat () CV_NOEXCEPT |
| |
| | Mat (const cuda::GpuMat &m) |
| | 从 GpuMat 下载数据
|
| |
| | Mat (const Mat &m) |
| |
| | Mat (const Mat &m, const Range &rowRange, const Range &colRange=Range::all()) |
| |
| | Mat (const Mat &m, const Range *ranges) |
| |
| | Mat (const Mat &m, const Rect &roi) |
| |
| | Mat (const Mat &m, const std::vector< Range > &ranges) |
| |
| template<typename _Tp > |
| | Mat (const MatCommaInitializer_< _Tp > &commaInitializer) |
| |
| template<typename _Tp , int m, int n> |
| | Mat (const Matx< _Tp, m, n > &mtx, bool copyData=true) |
| |
| template<typename _Tp > |
| | Mat (const Point3_< _Tp > &pt, bool copyData=true) |
| |
| template<typename _Tp > |
| | Mat (const Point_< _Tp > &pt, bool copyData=true) |
| |
| template<typename _Tp , size_t _Nm> |
| | Mat (const std::array< _Tp, _Nm > &arr, bool copyData=false) |
| |
| template<typename _Tp , typename = typename std::enable_if<std::is_arithmetic<_Tp>::value>::type> |
| | Mat (const std::initializer_list< _Tp > list) |
| |
| template<typename _Tp > |
| | Mat (const std::initializer_list< int > sizes, const std::initializer_list< _Tp > list) |
| |
| template<typename _Tp > |
| | Mat (const std::vector< _Tp > &vec, bool copyData=false) |
| |
| | Mat (const std::vector< int > &sizes, int type) |
| |
| | Mat (const std::vector< int > &sizes, int type, const Scalar &s) |
| |
| | Mat (const std::vector< int > &sizes, int type, void *data, const size_t *steps=0) |
| |
| template<typename _Tp , int n> |
| | Mat (const Vec< _Tp, n > &vec, bool copyData=true) |
| |
| | Mat (int ndims, const int *sizes, int type) |
| |
| | Mat (int ndims, const int *sizes, int type, const Scalar &s) |
| |
| | Mat (int ndims, const int *sizes, int type, void *data, const size_t *steps=0) |
| |
| | Mat (int rows, int cols, int type) |
| |
| | Mat (int rows, int cols, int type, const Scalar &s) |
| |
| | Mat (int rows, int cols, int type, void *data, size_t step=AUTO_STEP) |
| |
| | Mat (Mat &&m) CV_NOEXCEPT |
| |
| | Mat (Size size, int type) |
| |
| | Mat (Size size, int type, const Scalar &s) |
| |
| | Mat (Size size, int type, void *data, size_t step=AUTO_STEP) |
| |
| | ~Mat () |
| | 析构函数 - 调用 release()
|
| |
| void | addref () |
| | 增加引用计数。
|
| |
| Mat & | adjustROI (int dtop, int dbottom, int dleft, int dright) |
| | 调整父矩阵中子矩阵的大小和位置。
|
| |
| void | assignTo (Mat &m, int type=-1) const |
| | 提供 convertTo 的功能形式。
|
| |
| template<typename _Tp > |
| _Tp & | at (const int *idx) |
| |
| template<typename _Tp > |
| const _Tp & | at (const int *idx) const |
| |
| template<typename _Tp , int n> |
| _Tp & | at (const Vec< int, n > &idx) |
| |
| template<typename _Tp , int n> |
| const _Tp & | at (const Vec< int, n > &idx) const |
| |
| template<typename _Tp > |
| _Tp & | at (int i0, int i1, int i2) |
| |
| template<typename _Tp > |
| const _Tp & | at (int i0, int i1, int i2) const |
| |
| template<typename _Tp > |
| _Tp & | at (int i0=0) |
| | 返回指定数组元素的引用。
|
| |
| template<typename _Tp > |
| const _Tp & | at (int i0=0) const |
| |
| template<typename _Tp > |
| _Tp & | at (int row, int col) |
| |
| template<typename _Tp > |
| const _Tp & | at (int row, int col) const |
| |
| template<typename _Tp > |
| _Tp & | at (Point pt) |
| |
| template<typename _Tp > |
| const _Tp & | at (Point pt) const |
| |
| template<typename _Tp > |
| MatIterator_< _Tp > | begin () |
| | 返回矩阵迭代器并将其设置为第一个矩阵元素。
|
| |
| template<typename _Tp > |
| MatConstIterator_< _Tp > | begin () const |
| |
| int | channels () const |
| | 返回矩阵通道数。
|
| |
| int | checkVector (int elemChannels, int depth=-1, bool requireContinuous=true) const |
| |
| CV_NODISCARD_STD Mat | clone () const |
| | 创建数组及其底层数据的完整副本。
|
| |
| Mat | col (int x) const |
| | 为指定的矩阵列创建矩阵头。
|
| |
| Mat | colRange (const Range &r) const |
| |
| Mat | colRange (int startcol, int endcol) const |
| | 为指定列范围创建矩阵头。
|
| |
| void | convertTo (OutputArray m, int rtype, double alpha=1, double beta=0) const |
| | 使用可选缩放将数组转换为另一种数据类型。
|
| |
| void | copySize (const Mat &m) |
| | 内部使用的函数;正确地重新分配 _size, _step 数组
|
| |
| void | copyTo (OutputArray m) const |
| | 将矩阵复制到另一个矩阵。
|
| |
| void | copyTo (OutputArray m, InputArray mask) const |
| |
| void | create (const std::vector< int > &sizes, int type) |
| |
| void | create (int ndims, const int *sizes, int type) |
| |
| void | create (int rows, int cols, int type) |
| | 如果需要,分配新的数组数据。
|
| |
| void | create (Size size, int type) |
| |
| Mat | cross (InputArray m) const |
| | 计算两个 3 元素向量的叉积。
|
| |
| void | deallocate () |
| | 内部使用函数,请考虑使用 'release' 方法;释放矩阵数据
|
| |
| int | depth () const |
| | 返回矩阵元素的深度。
|
| |
| Mat | diag (int d=0) const |
| | 从矩阵中提取对角线。
|
| |
| double | dot (InputArray m) const |
| | 计算两个向量的点积。
|
| |
| size_t | elemSize () const |
| | 返回矩阵元素大小(字节)。
|
| |
| size_t | elemSize1 () const |
| | 返回每个矩阵元素通道的大小(字节)。
|
| |
| bool | empty () const |
| | double getTickFrequency()
|
| |
| template<typename _Tp > |
| MatIterator_< _Tp > | end () |
| | 返回矩阵迭代器并将其设置为矩阵的最后一个元素之后的位置。
|
| |
| template<typename _Tp > |
| MatConstIterator_< _Tp > | end () const |
| |
| template<typename _Tp , typename Functor > |
| void | forEach (const Functor &operation) |
| | 并行地对所有矩阵元素运行给定函数。
|
| |
| template<typename _Tp , typename Functor > |
| void | forEach (const Functor &operation) const |
| |
| UMat | getUMat (AccessFlag accessFlags, UMatUsageFlags usageFlags=USAGE_DEFAULT) const |
| | 从 Mat 中检索 UMat
|
| |
| MatExpr | inv (int method=DECOMP_LU) const |
| | 反转矩阵。
|
| |
| bool | isContinuous () const |
| | 报告矩阵是否连续。
|
| |
| bool | isSubmatrix () const |
| | 如果矩阵是另一个矩阵的子矩阵,则返回 true
|
| |
| void | locateROI (Size &wholeSize, Point &ofs) const |
| | 在父矩阵中定位矩阵头。
|
| |
| MatExpr | mul (InputArray m, double scale=1) const |
| | 执行两个矩阵的元素级乘法或除法。
|
| |
| template<typename _Tp , int m, int n> |
| | operator Matx< _Tp, m, n > () const |
| |
| template<typename _Tp , std::size_t _Nm> |
| | operator std::array< _Tp, _Nm > () const |
| |
| template<typename _Tp > |
| | operator std::vector< _Tp > () const |
| |
| template<typename _Tp , int n> |
| | operator Vec< _Tp, n > () const |
| |
| Mat | operator() (const Range *ranges) const |
| |
| Mat | operator() (const Rect &roi) const |
| |
| Mat | operator() (const std::vector< Range > &ranges) const |
| |
| Mat | operator() (Range rowRange, Range colRange) const |
| | 提取一个矩形子矩阵。
|
| |
| Mat & | operator= (const Mat &m) |
| | 赋值运算符
|
| |
| Mat & | operator= (const MatExpr &expr) |
| |
| Mat & | operator= (const Scalar &s) |
| | 将所有或部分数组元素设置为指定值。
|
| |
| Mat & | operator= (Mat &&m) |
| |
| void | pop_back (size_t nelems=1) |
| | 从矩阵底部移除元素。
|
| |
| uchar * | ptr (const int *idx) |
| |
| template<typename _Tp > |
| _Tp * | ptr (const int *idx) |
| |
| const uchar * | ptr (const int *idx) const |
| |
| template<typename _Tp > |
| const _Tp * | ptr (const int *idx) const |
| |
| template<int n> |
| uchar * | ptr (const Vec< int, n > &idx) |
| |
| template<typename _Tp , int n> |
| _Tp * | ptr (const Vec< int, n > &idx) |
| |
| template<int n> |
| const uchar * | ptr (const Vec< int, n > &idx) const |
| |
| template<typename _Tp , int n> |
| const _Tp * | ptr (const Vec< int, n > &idx) const |
| |
| uchar * | ptr (int i0, int i1, int i2) |
| |
| template<typename _Tp > |
| _Tp * | ptr (int i0, int i1, int i2) |
| |
| const uchar * | ptr (int i0, int i1, int i2) const |
| |
| template<typename _Tp > |
| const _Tp * | ptr (int i0, int i1, int i2) const |
| |
| uchar * | ptr (int i0=0) |
| | 返回指向指定矩阵行的指针。
|
| |
| template<typename _Tp > |
| _Tp * | ptr (int i0=0) |
| |
| const uchar * | ptr (int i0=0) const |
| |
| template<typename _Tp > |
| const _Tp * | ptr (int i0=0) const |
| |
| uchar * | ptr (int row, int col) |
| |
| template<typename _Tp > |
| _Tp * | ptr (int row, int col) |
| |
| const uchar * | ptr (int row, int col) const |
| |
| template<typename _Tp > |
| const _Tp * | ptr (int row, int col) const |
| |
| template<typename _Tp > |
| void | push_back (const _Tp &elem) |
| | 向矩阵底部添加元素。
|
| |
| void | push_back (const Mat &m) |
| |
| template<typename _Tp > |
| void | push_back (const Mat_< _Tp > &elem) |
| |
| template<typename _Tp > |
| void | push_back (const std::vector< _Tp > &elem) |
| |
| void | push_back_ (const void *elem) |
| | 内部函数
|
| |
| template<typename _Tp > |
| std::reverse_iterator< MatIterator_< _Tp > > | rbegin () |
| | 与 begin() 相同,但用于逆向遍历。
|
| |
| template<typename _Tp > |
| std::reverse_iterator< MatConstIterator_< _Tp > > | rbegin () const |
| |
| Mat | reinterpret (int type) const |
| | 重置矩阵类型。
|
| |
| void | release () |
| | 递减引用计数并在需要时释放矩阵。
|
| |
| template<typename _Tp > |
| std::reverse_iterator< MatIterator_< _Tp > > | rend () |
| | 与 end() 相同,但用于逆向遍历。
|
| |
| template<typename _Tp > |
| std::reverse_iterator< MatConstIterator_< _Tp > > | rend () const |
| |
| void | reserve (size_t sz) |
| | 为特定行数保留空间。
|
| |
| void | reserveBuffer (size_t sz) |
| | 为特定字节数保留空间。
|
| |
| Mat | reshape (int cn, const std::vector< int > &newshape) const |
| |
| Mat | reshape (int cn, int newndims, const int *newsz) const |
| |
| Mat | reshape (int cn, int rows=0) const |
| | 更改二维矩阵的形状和/或通道数,而不复制数据。
|
| |
| void | resize (size_t sz) |
| | 更改矩阵的行数。
|
| |
| void | resize (size_t sz, const Scalar &s) |
| |
| Mat | row (int y) const |
| | 为指定的矩阵行创建矩阵头。
|
| |
| Mat | rowRange (const Range &r) const |
| |
| Mat | rowRange (int startrow, int endrow) const |
| | 为指定的行跨度创建一个矩阵头。
|
| |
| Mat & | setTo (InputArray value, InputArray mask=noArray()) |
| | 将所有或部分数组元素设置为指定值。
|
| |
| size_t | step1 (int i=0) const |
| | 返回标准化步长。
|
| |
| MatExpr | t () const |
| | 转置矩阵。
|
| |
| size_t | total () const |
| | 返回数组元素的总数。
|
| |
| size_t | total (int startDim, int endDim=INT_MAX) const |
| | 返回数组元素的总数。
|
| |
| int | type () const |
| | 返回矩阵元素的类型。
|
| |
| void | updateContinuityFlag () |
| | 内部使用方法:更新连续性标志
|
| |