![]() |
OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
|
#include <opencv2/core/mat.hpp>
公开类型 | |
| typedef SparseMatConstIterator_< _Tp > | const_iterator (常量迭代器) |
| typedef SparseMatIterator_< _Tp > | iterator (迭代器) |
继承自 cv::SparseMat 的公共类型 | |
| enum | { MAGIC_VAL =0x42FD0000 , MAX_DIM =32 , HASH_SCALE =0x5bd1e995 , HASH_BIT =0x80000000 } |
| typedef SparseMatConstIterator | const_iterator (常量迭代器) |
| typedef SparseMatIterator | iterator (迭代器) |
公开成员函数 | |
| SparseMat_ () | |
| 默认构造函数 | |
| SparseMat_ (const Mat &m) | |
| 将密集矩阵转换为稀疏形式 | |
| SparseMat_ (const SparseMat &m) | |
| 拷贝构造函数。如果DataType<_Tp>.type != m.type(),m元素将被转换 | |
| SparseMat_ (const SparseMat_ &m) | |
| 拷贝构造函数。这是一个O(1)操作 - 没有数据被拷贝 | |
| SparseMat_ (int dims, const int *_sizes) | |
| 与SparseMat(dims, _sizes, DataType<_Tp>::type)等效的完整构造函数 | |
| SparseMatIterator_< _Tp > | begin (起始迭代器) () |
| 返回指向第一个稀疏矩阵元素的稀疏矩阵迭代器 | |
| SparseMatConstIterator_< _Tp > | begin () const |
| 返回指向第一个稀疏矩阵元素的只读稀疏矩阵迭代器 | |
| int | channels () const |
| 返回每个矩阵元素中的通道数 | |
| CV_NODISCARD_STD SparseMat_ | clone () const |
| 完全复制矩阵。所有元素都被复制 | |
| void | create (int dims, const int *_sizes) |
| 等效于cv::SparseMat::create(dims, _sizes, DataType<_Tp>::type) | |
| int | depth () const |
| 返回矩阵元素的深度 | |
| SparseMatIterator_< _Tp > | end (结束迭代器) () |
| 返回指向最后一个稀疏矩阵元素之后的元素的稀疏矩阵迭代器 | |
| SparseMatConstIterator_< _Tp > | end () const |
| 返回指向最后一个稀疏矩阵元素之后的元素的只读稀疏矩阵迭代器 | |
| _Tp | operator() (const int *idx, size_t *hashval=0) const |
| 等效于SparseMat::value<_Tp>(idx, hashval) | |
| _Tp | operator() (int i0, int i1, int i2, size_t *hashval=0) const |
| 等效于SparseMat::value<_Tp>(i0, i1, i2, hashval) | |
| _Tp | operator() (int i0, int i1, size_t *hashval=0) const |
| 等效于SparseMat::value<_Tp>(i0, i1, hashval) | |
| _Tp | operator() (int i0, size_t *hashval=0) const |
| 等效于SparseMat::value<_Tp>(i0, hashval) | |
| SparseMat_ & | operator= (const Mat &m) |
| 将密集矩阵转换为稀疏形式 | |
| SparseMat_ & | operator= (const SparseMat &m) |
| 将旧式稀疏矩阵转换为C++类。所有元素都被拷贝 | |
| SparseMat_ & | operator= (const SparseMat_ &m) |
| 赋值操作符。这是一个O(1)操作 - 没有数据被拷贝 | |
| _Tp & | ref (const int *idx, size_t *hashval=0) |
| 等效于SparseMat::ref<_Tp>(idx, hashval) | |
| _Tp & | ref (int i0, int i1, int i2, size_t *hashval=0) |
| 等效于SparseMat::ref<_Tp>(i0, i1, i2, hashval) | |
| _Tp & | ref (int i0, int i1, size_t *hashval=0) |
| 等效于SparseMat::ref<_Tp>(i0, i1, hashval) | |
| _Tp & | ref (int i0, size_t *hashval=0) |
| 等效于SparseMat::ref<_Tp>(i0, hashval) | |
| int | type () const |
| 将稀疏矩阵转换为旧式CvSparseMat。所有元素都被拷贝 | |
继承自 cv::SparseMat 的公共成员函数 | |
| SparseMat () | |
| 各种 SparseMat 构造函数。 | |
| SparseMat (const Mat &m) | |
| SparseMat (const SparseMat &m) | |
| SparseMat (int dims, const int *_sizes, int _type) | |
| ~SparseMat () | |
| 析构函数 | |
| void | addref (增加引用) () |
| 手动增加头部的引用计数器。 | |
| void | assignTo (SparseMat &m, int type=-1) const |
| int | channels () const |
| 返回通道数 | |
| void | clear () |
| 将所有稀疏矩阵元素设置为0,这意味着清除哈希表。 | |
| CV_NODISCARD_STD SparseMat | clone () const |
| 创建矩阵的完整副本 | |
| void | convertTo (Mat &m, int rtype, double alpha=1, double beta=0) const |
| 将稀疏矩阵转换为密集n维矩阵,并可选择进行类型转换和缩放。 | |
| void | convertTo (SparseMat &m, int rtype, double alpha=1) const |
| 将所有矩阵元素乘以指定的比例因子alpha并将结果转换为指定的数据类型 | |
| void | copyTo (Mat &m) const |
| 将稀疏矩阵转换为密集矩阵。 | |
| void | copyTo (SparseMat &m) const |
| 将所有数据复制到目标矩阵。m的先前内容将被擦除 | |
| void | create (int dims, const int *_sizes, int _type) |
| 重新分配稀疏矩阵。 | |
| int | depth () const |
| 返回稀疏矩阵元素的深度 | |
| int | dims () const |
| 返回矩阵的维度 | |
| size_t | elemSize () const |
| 将稀疏矩阵转换为旧式表示;所有元素都被拷贝。 | |
| size_t | elemSize1 () const |
| 返回 elemSize()/channels() | |
| SparseMatIterator | end (结束迭代器) () |
| 返回矩阵末尾的稀疏矩阵迭代器 | |
| template<typename _Tp > | |
| SparseMatIterator_< _Tp > | end (结束迭代器) () |
| 返回矩阵末尾的类型化稀疏矩阵迭代器 | |
| SparseMatConstIterator | end () const |
| 返回矩阵末尾的只读稀疏矩阵迭代器 | |
| template<typename _Tp > | |
| SparseMatConstIterator_< _Tp > | end () const |
| 返回矩阵末尾的类型化只读稀疏矩阵迭代器 | |
| void | erase (const int *idx, size_t *hashval=0) |
| 擦除指定的元素 (nD情况) | |
| void | erase (int i0, int i1, int i2, size_t *hashval=0) |
| 擦除指定的元素 (3D情况) | |
| void | erase (int i0, int i1, size_t *hashval=0) |
| 擦除指定的元素 (2D情况) | |
| size_t | hash (const int *idx) const |
| 计算元素的哈希值 (nD情况) | |
| size_t | hash (int i0) const |
| 计算元素的哈希值 (1D情况) | |
| size_t | hash (int i0, int i1) const |
| 计算元素的哈希值 (2D情况) | |
| size_t | hash (int i0, int i1, int i2) const |
| 计算元素的哈希值 (3D情况) | |
| uchar * | newNode (const int *idx, size_t hashval) |
| Node * | node (size_t nidx) |
| const Node * | node (size_t nidx) const |
| size_t | nzcount () const |
| 返回非零元素的数量(=哈希表节点的数量) | |
| SparseMat & | operator= (const Mat &m) |
| 等效于相应的构造函数 | |
| SparseMat & | operator= (const SparseMat &m) |
| 赋值操作符。这是一个O(1)操作,即没有数据被拷贝 | |
| void | release (释放) () |
| void | removeNode (size_t hidx, size_t nidx, size_t previdx) |
| void | resizeHashTab (size_t newsize) |
| const int * | size () const |
| 返回尺寸数组,如果矩阵未分配则返回NULL | |
| int | size (int i) const |
| 返回第i个矩阵维度的尺寸(或0) | |
| int | type () const |
| 返回稀疏矩阵元素的类型 | |
| template<typename _Tp > | |
| const _Tp & | value (const Node *n) const |
| 返回存储在稀疏矩阵节点中的值 | |
| template<typename _Tp > | |
| _Tp & | value (Node *n) |
| 返回存储在稀疏矩阵节点中的值 | |
| uchar * | ptr (int i0, bool createMissing, size_t *hashval=0) |
| 返回指向指定元素的指针 (1D情况) | |
| uchar * | ptr (int i0, int i1, bool createMissing, size_t *hashval=0) |
| 返回指向指定元素的指针 (2D情况) | |
| uchar * | ptr (int i0, int i1, int i2, bool createMissing, size_t *hashval=0) |
| 返回指向指定元素的指针 (3D情况) | |
| uchar * | ptr (const int *idx, bool createMissing, size_t *hashval=0) |
| 返回指向指定元素的指针 (nD情况) | |
| template<typename _Tp > | |
| _Tp & | ref (int i0, size_t *hashval=0) |
| 返回对指定元素的引用(1D 情况) | |
| template<typename _Tp > | |
| _Tp & | ref (int i0, int i1, size_t *hashval=0) |
| 返回对指定元素的引用(2D 情况) | |
| template<typename _Tp > | |
| _Tp & | ref (int i0, int i1, int i2, size_t *hashval=0) |
| 返回对指定元素的引用(3D 情况) | |
| template<typename _Tp > | |
| _Tp & | ref (const int *idx, size_t *hashval=0) |
| 返回对指定元素的引用 (nD情况) | |
| template<typename _Tp > | |
| _Tp | value (int i0, size_t *hashval=0) const |
| 返回指定元素的值 (1D情况) | |
| template<typename _Tp > | |
| _Tp | value (int i0, int i1, size_t *hashval=0) const |
| 返回指定元素的值 (2D情况) | |
| template<typename _Tp > | |
| _Tp | value (int i0, int i1, int i2, size_t *hashval=0) const |
| 返回指定元素的值 (3D情况) | |
| template<typename _Tp > | |
| _Tp | value (const int *idx, size_t *hashval=0) const |
| 返回指定元素的值 (nD情况) | |
| template<typename _Tp > | |
| const _Tp * | find (int i0, size_t *hashval=0) const |
| 返回指向指定元素的指针 (1D情况) | |
| template<typename _Tp > | |
| const _Tp * | find (int i0, int i1, size_t *hashval=0) const |
| 返回指向指定元素的指针 (2D情况) | |
| template<typename _Tp > | |
| const _Tp * | find (int i0, int i1, int i2, size_t *hashval=0) const |
| 返回指向指定元素的指针 (3D情况) | |
| template<typename _Tp > | |
| const _Tp * | find (const int *idx, size_t *hashval=0) const |
| 返回指向指定元素的指针 (nD情况) | |
| SparseMatIterator | begin (起始迭代器) () |
| 返回矩阵开头的稀疏矩阵迭代器 | |
| template<typename _Tp > | |
| SparseMatIterator_< _Tp > | begin (起始迭代器) () |
| 返回矩阵开头的稀疏矩阵迭代器 | |
| SparseMatConstIterator | begin () const |
| 返回矩阵开头的只读稀疏矩阵迭代器 | |
| template<typename _Tp > | |
| SparseMatConstIterator_< _Tp > | begin () const |
| 返回矩阵开头的只读稀疏矩阵迭代器 | |
更多继承的成员 | |
继承自 cv::SparseMat 的公共属性 | |
| int | flags (标志) |
| Hdr * | hdr |
模板稀疏n维数组类,派生自SparseMat。
SparseMat_ 是在SparseMat之上创建的轻量级封装,其方式与Mat_类似。它简化了一些操作的表示
| SparseMatConstIterator_<_Tp> cv::SparseMat_< _Tp >::const_iterator |
| SparseMatIterator_<_Tp> cv::SparseMat_< _Tp >::iterator |
| cv::SparseMat_< _Tp >::SparseMat_ | ( | ) |
默认构造函数
| cv::SparseMat_< _Tp >::SparseMat_ | ( | int | dims (维度), |
| const int * | _sizes (大小数组) ) |
与SparseMat(dims, _sizes, DataType<_Tp>::type)等效的完整构造函数
| cv::SparseMat_< _Tp >::SparseMat_ | ( | const SparseMat & | m | ) |
拷贝构造函数。如果DataType<_Tp>.type != m.type(),m元素将被转换
| cv::SparseMat_< _Tp >::SparseMat_ | ( | const SparseMat_< _Tp > & | m | ) |
拷贝构造函数。这是一个O(1)操作 - 没有数据被拷贝
| cv::SparseMat_< _Tp >::SparseMat_ | ( | const Mat & | m | ) |
将密集矩阵转换为稀疏形式
| SparseMatIterator_< _Tp > cv::SparseMat_< _Tp >::begin | ( | ) |
返回指向第一个稀疏矩阵元素的稀疏矩阵迭代器
| SparseMatConstIterator_< _Tp > cv::SparseMat_< _Tp >::begin | ( | ) | const |
返回指向第一个稀疏矩阵元素的只读稀疏矩阵迭代器
| int cv::SparseMat_< _Tp >::channels | ( | ) | const |
返回每个矩阵元素中的通道数
| CV_NODISCARD_STD SparseMat_ cv::SparseMat_< _Tp >::clone | ( | ) | const |
完全复制矩阵。所有元素都被复制
| void cv::SparseMat_< _Tp >::create | ( | int | dims (维度), |
| const int * | _sizes (大小数组) ) |
等效于cv::SparseMat::create(dims, _sizes, DataType<_Tp>::type)
| int cv::SparseMat_< _Tp >::depth | ( | ) | const |
返回矩阵元素的深度
| SparseMatIterator_< _Tp > cv::SparseMat_< _Tp >::end | ( | ) |
返回指向最后一个稀疏矩阵元素之后的元素的稀疏矩阵迭代器
| SparseMatConstIterator_< _Tp > cv::SparseMat_< _Tp >::end | ( | ) | const |
返回指向最后一个稀疏矩阵元素之后的元素的只读稀疏矩阵迭代器
| _Tp cv::SparseMat_< _Tp >::operator() | ( | const int * | idx (索引), |
| size_t * | hashval = 0 ) const |
等效于SparseMat::value<_Tp>(idx, hashval)
| _Tp cv::SparseMat_< _Tp >::operator() | ( | int | i0, |
| int | i1, | ||
| int | i2, | ||
| size_t * | hashval = 0 ) const |
等效于SparseMat::value<_Tp>(i0, i1, i2, hashval)
| _Tp cv::SparseMat_< _Tp >::operator() | ( | int | i0, |
| int | i1, | ||
| size_t * | hashval = 0 ) const |
等效于SparseMat::value<_Tp>(i0, i1, hashval)
| _Tp cv::SparseMat_< _Tp >::operator() | ( | int | i0, |
| size_t * | hashval = 0 ) const |
等效于SparseMat::value<_Tp>(i0, hashval)
| SparseMat_ & cv::SparseMat_< _Tp >::operator= | ( | const Mat & | m | ) |
将密集矩阵转换为稀疏形式
| SparseMat_ & cv::SparseMat_< _Tp >::operator= | ( | const SparseMat & | m | ) |
将旧式稀疏矩阵转换为C++类。所有元素都被拷贝
赋值操作符。如果DataType<_Tp>.type != m.type(),m元素将被转换
| SparseMat_ & cv::SparseMat_< _Tp >::operator= | ( | const SparseMat_< _Tp > & | m | ) |
赋值操作符。这是一个O(1)操作 - 没有数据被拷贝
| _Tp & cv::SparseMat_< _Tp >::ref | ( | const int * | idx (索引), |
| size_t * | hashval = 0 ) |
等效于SparseMat::ref<_Tp>(idx, hashval)
| _Tp & cv::SparseMat_< _Tp >::ref | ( | int | i0, |
| int | i1, | ||
| int | i2, | ||
| size_t * | hashval = 0 ) |
等效于SparseMat::ref<_Tp>(i0, i1, i2, hashval)
| _Tp & cv::SparseMat_< _Tp >::ref | ( | int | i0, |
| int | i1, | ||
| size_t * | hashval = 0 ) |
等效于SparseMat::ref<_Tp>(i0, i1, hashval)
| _Tp & cv::SparseMat_< _Tp >::ref | ( | int | i0, |
| size_t * | hashval = 0 ) |
等效于SparseMat::ref<_Tp>(i0, hashval)
| int cv::SparseMat_< _Tp >::type | ( | ) | const |
将稀疏矩阵转换为旧式CvSparseMat。所有元素都被拷贝
返回矩阵元素的类型