OpenCV 4.10.0
开源计算机视觉库
|
从 SparseMat 派生的模板稀疏 n 维数组类。 更多...
#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 | 释放 () |
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) |
返回指定元素的指针(一维情况)。 | |
uchar * | ptr (int i0, int i1, bool createMissing, size_t *hashval=0) |
返回指定元素的指针(二维情况)。 | |
uchar * | ptr (int i0, int i1, int i2, bool createMissing, size_t *hashval=0) |
返回指定元素的指针(三维情况)。 | |
uchar * | ptr (const int *idx, bool createMissing, size_t *hashval=0) |
返回指定元素的指针(n 维情况)。 | |
template<typename _Tp > | |
_Tp & | ref (int i0, size_t *hashval=0) |
返回指定元素的引用(一维情况)。 | |
template<typename _Tp > | |
_Tp & | ref (int i0, int i1, size_t *hashval=0) |
返回指定元素的引用(二维情况)。 | |
template<typename _Tp > | |
_Tp & | ref (int i0, int i1, int i2, size_t *hashval=0) |
返回指定元素的引用(三维情况)。 | |
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 |
返回指定元素的值(一维情况)。 | |
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 |
返回指定元素的指针(一维情况)。 | |
template<typename _Tp > | |
const _Tp * | find (int i0, int i1, size_t *hashval=0) const |
返回指定元素的指针(二维情况)。 | |
template<typename _Tp > | |
const _Tp * | find (int i0, int i1, int i2, size_t *hashval=0) const |
返回指定元素的指针(三维情况)。 | |
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_ 相同的方式创建。它简化了一些操作的符号
typedef SparseMatConstIterator_<_Tp> cv::SparseMat_< _Tp >::const_iterator |
typedef 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。所有元素都将被复制
返回矩阵元素的类型。