![]() |
OpenCV 4.12.0
开源计算机视觉
|
派生自 SparseMat 的模板稀疏 n 维数组类。 更多...
#include <opencv2/core/mat.hpp>
公共类型 | |
| typedef SparseMatConstIterator_< _Tp > | const_iterator |
| typedef SparseMatIterator_< _Tp > | 迭代器 |
继承自 cv::SparseMat 的公共类型 | |
| 枚举 | { MAGIC_VAL =0x42FD0000 , MAX_DIM =32 , HASH_SCALE =0x5bd1e995 , HASH_BIT =0x80000000 } |
| typedef SparseMatConstIterator | const_iterator |
| typedef SparseMatIterator | 迭代器 |
公共成员函数 | |
| 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) |
| 擦除指定元素(n 维情况) | |
| void | erase (int i0, int i1, int i2, size_t *hashval=0) |
| 擦除指定元素(3 维情况) | |
| void | erase (int i0, int i1, size_t *hashval=0) |
| 擦除指定元素(2 维情况) | |
| size_t | hash (const int *idx) const |
| 计算元素哈希值(n 维情况) | |
| size_t | hash (int i0) const |
| 计算元素哈希值(1 维情况) | |
| size_t | hash (int i0, int i1) const |
| 计算元素哈希值(2 维情况) | |
| size_t | hash (int i0, int i1, int i2) const |
| 计算元素哈希值(3 维情况) | |
| 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) |
| 返回指向指定元素的指针(1 维情况) | |
| uchar * | ptr (int i0, int i1, bool createMissing, size_t *hashval=0) |
| 返回指向指定元素的指针(2 维情况) | |
| uchar * | ptr (int i0, int i1, int i2, bool createMissing, size_t *hashval=0) |
| 返回指向指定元素的指针(3 维情况) | |
| uchar * | ptr (const int *idx, bool createMissing, size_t *hashval=0) |
| 返回指向指定元素的指针(n 维情况) | |
| 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) |
| 返回对指定元素的引用(n 维情况) | |
| template<typename _Tp > | |
| _Tp | value (int i0, size_t *hashval=0) const |
| 返回指定元素的值(1 维情况) | |
| template<typename _Tp > | |
| _Tp | value (int i0, int i1, size_t *hashval=0) const |
| 返回指定元素的值(2 维情况) | |
| template<typename _Tp > | |
| _Tp | value (int i0, int i1, int i2, size_t *hashval=0) const |
| 返回指定元素的值(3 维情况) | |
| template<typename _Tp > | |
| _Tp | value (const int *idx, size_t *hashval=0) const |
| 返回指定元素的值(n 维情况) | |
| template<typename _Tp > | |
| const _Tp * | find (int i0, size_t *hashval=0) const |
| 返回指向指定元素的指针(1 维情况) | |
| template<typename _Tp > | |
| const _Tp * | find (int i0, int i1, size_t *hashval=0) const |
| 返回指向指定元素的指针(2 维情况) | |
| template<typename _Tp > | |
| const _Tp * | find (int i0, int i1, int i2, size_t *hashval=0) const |
| 返回指向指定元素的指针(3 维情况) | |
| template<typename _Tp > | |
| const _Tp * | find (const int *idx, size_t *hashval=0) const |
| 返回指向指定元素的指针(n 维情况) | |
| SparseMatIterator | begin () |
| 返回稀疏矩阵迭代器在矩阵开始处 | |
| template<typename _Tp > | |
| SparseMatIterator_< _Tp > | begin () |
| 返回稀疏矩阵迭代器在矩阵开始处 | |
| SparseMatConstIterator | begin () const |
| 返回指向矩阵开头的只读稀疏矩阵迭代器 | |
| template<typename _Tp > | |
| SparseMatConstIterator_< _Tp > | begin () const |
| 返回指向矩阵开头的只读稀疏矩阵迭代器 | |
额外继承成员 | |
继承自 cv::SparseMat 的公共属性 | |
| int | flags |
| Hdr * | hdr |
派生自 SparseMat 的模板稀疏 n 维数组类。
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。所有元素都被复制
返回矩阵元素的类型