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。所有元素都被复制
返回矩阵元素的类型