![]() |
OpenCV 4.11.0
开源计算机视觉库
|
派生自 SparseMat 的模板稀疏 n 维数组类。更多…
#include <opencv2/core/mat.hpp>
公共类型 | |
| typedef SparseMatConstIterator_< _Tp > | const_iterator |
| typedef SparseMatIterator_< _Tp > | iterator |
继承自 cv::SparseMat 的公共类型 | |
| 枚举 | { 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 | 释放 () |
| 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 |
| 返回指定元素的值(二维情况) | |
| template<typename _Tp > | |
| _Tp | value (int i0, int i1, int i2, size_t *hashval=0) const |
| 返回指定元素的值(三维情况) | |
| 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 |
| 返回指向指定元素的指针(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 |
从 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。所有元素都被复制
返回矩阵元素的类型