OpenCV 4.5.3(日本語機械翻訳)
|
The class SparseMat represents multi-dimensional sparse numerical arrays. [詳解]
#include <mat.hpp>
cv::SparseMat_< _Tp >に継承されています。
クラス |
|
struct | Hdr |
疎行列のヘッダ[【詳解】(英語]
|
|
struct | Node |
疎行列ノード - ハッシュテーブルの要素[【詳解】(英語]
|
|
公開型 |
|
enum | { MAGIC_VAL =0x42FD0000 , MAX_DIM =32 , HASH_SCALE =0x5bd1e995 , HASH_BIT =0x80000000 } |
typedef SparseMatIterator | iterator |
typedef SparseMatConstIterator | const_iterator |
公開メンバ関数 |
|
SparseMat () | |
様々なSparseMatコンストラクタ。 |
|
SparseMat (int dims, const int *_sizes, int _type) | |
SparseMat (const SparseMat &m) | |
SparseMat (const Mat &m) | |
~SparseMat () | |
デストラクタ |
|
SparseMat & | operator= (const SparseMat &m) |
代入演算子.これはO(1)の演算で,データのコピーはありません. |
|
SparseMat & | operator= (const Mat &m) |
対応するコンストラクタと同等 |
|
SparseMat | clone () const CV_NODISCARD |
行列の完全なコピーを作成します. |
|
void | copyTo (SparseMat &m) const |
は,すべてのデータをコピー先の行列にコピーします.m の以前の内容はすべて消去されます。 |
|
void | copyTo (Mat &m) const |
疎な行列を密な行列に変換します. |
|
void | convertTo (SparseMat &m, int rtype, double alpha=1) const |
すべての行列要素に,指定されたスケールファクタ alpha を掛け,その結果を指定されたデータ型に変換します. |
|
void | convertTo (Mat &m, int rtype, double alpha=1, double beta=0) const |
疎な行列を,オプションで型変換やスケーリングを行い,密な n-dim 行列に変換します.[【詳解】(英語]
|
|
void | assignTo (SparseMat &m, int type=-1) const |
void | create (int dims, const int *_sizes, int _type) |
疎な行列を再配置します.[【詳解】(英語]
|
|
void | clear () |
疎行列のすべての要素を 0 にします.これは,ハッシュテーブルのクリアを意味します. |
|
void | addref () |
ヘッダへの参照カウンタを手動でインクリメントします. |
|
void | release () |
size_t | elemSize () const |
疎な行列を古い形式の表現に変換し,すべての要素がコピーされます.[【詳解】(英語]
|
|
size_t | elemSize1 () const |
戻り値elemSize()/channels() |
|
int | type () const |
疎な行列の要素の型を返す |
|
int | depth () const |
疎な行列の要素の深さを返します. |
|
int | channels () const |
チャンネルの数を返します. |
|
const int * | size () const |
サイズの配列を返します.行列が割り当てられていない場合は,NULL を返します. |
|
int | size (int i) const |
行列の i 番目の次元のサイズ(または 0)を返します. |
|
int | dims () const |
行列の次元数を返します. |
|
size_t | nzcount () const |
0 ではない要素の数(=ハッシュテーブルのノード数)を返します. |
|
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 |
要素のハッシュ値を計算 (3Dの場合) |
|
size_t | hash (const int *idx) const |
要素のハッシュ値を計算する(nDの場合) |
|
void | erase (int i0, int i1, size_t *hashval=0) |
指定された要素の消去 (2Dの場合) |
|
void | erase (int i0, int i1, int i2, size_t *hashval=0) |
指定された要素を消去する (3Dケース) |
|
void | erase (const int *idx, size_t *hashval=0) |
指定された要素を消去 (nDの場合) |
|
SparseMatIterator | end () |
行列の終端にある,疎な行列のイテレータを返します.[【詳解】(英語]
|
|
SparseMatConstIterator | end () const |
行列の末尾にある読み取り専用の疎行列イテレータを返します. |
|
template<typename _Tp > | |
SparseMatIterator_< _Tp > | end () |
型付けされた疎行列のイテレータを行列の最後に返します。 |
|
template<typename _Tp > | |
SparseMatConstIterator_< _Tp > | end () const |
型付けされた読み取り専用の疎行列イテレータを,行列の末尾に返します。 |
|
template<typename _Tp > | |
_Tp & | value (Node *n) |
疎な行列ノードに格納されている値を返します. |
|
template<typename _Tp > | |
const _Tp & | value (const Node *n) const |
疎な行列ノードに格納されている値を返します. |
|
Node * | node (size_t nidx) |
const Node * | node (size_t nidx) const |
uchar * | newNode (const int *idx, size_t hashval) |
void | removeNode (size_t hidx, size_t nidx, size_t previdx) |
void | resizeHashTab (size_t newsize) |
uchar * | ptr (int i0, bool createMissing, size_t *hashval=0) |
指定された要素へのポインタを返します(1 次元の場合)。[【詳解】(英語]
|
|
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) |
指定された要素への参照を返す(1次元の場合)[【詳解】(英語]
|
|
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 |
指定された要素の値を返します(1次元の場合)。[【詳解】(英語]
|
|
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 |
指定された要素へのポインタを返します(1 次元の場合)。[【詳解】(英語]
|
|
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 |
行列の先頭にある,読み込み専用の疎行列イテレータを返します。 |
|
公開変数類 |
|
int | flags |
Hdr * | hdr |
このクラスはSparseMatは,多次元の疎な数値配列を表します.
このような疎な配列は,次のような任意の型の要素を格納できます。Matが格納できるあらゆる型の要素を格納できます。疎なとは,0 ではない要素のみが格納されていることを意味します(ただし,疎な行列に対する演算の結果,格納されている要素の一部が実際に 0 になることがあります。SparseMat::erase). 0ではない要素は,ハッシュテーブルに格納されています.このハッシュテーブルは,要素が存在するかどうかにかかわらず,平均してO(1)の検索時間となるように,埋められるたびに大きくなります.要素へのアクセスには,以下の方法があります.
cv::SparseMat::SparseMat | ( | int | dims, |
const int * | _sizes, | ||
int | _type | ||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
dims | 配列の次元。 |
_sizes | すべてのデメンションでのスパースな行列サイズ。 |
_type | 疎な行列のデータ型。 |
cv::SparseMat::SparseMat | ( | const SparseMat & | m | ) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
m | コピーコンストラクタの入力行列.m が密な行列(ocvMat)である場合,それは疎な表現に変換されます. |
|
explicit |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
m | コピーコンストラクタの入力行列.m が密な行列(ocvMat)である場合,それは疎な表現に変換されます. |
SparseMatIterator cv::SparseMat::begin | ( | ) |
行列の先頭にある,疎な行列のイテレータを返します.
疎な行列の最初の要素を指す疎な行列のイテレータを返します.
void cv::SparseMat::convertTo | ( | Mat & | m, |
int | rtype, | ||
double |
alpha
=
1 ,
|
||
double |
beta
=
0 |
||
) | const |
疎な行列を,オプションで型変換やスケーリングを行い,密な n-dim 行列に変換します.
[out]. | m | - 出力行列.操作の前に適切なサイズや型でなかった場合は,再割り当てされます. |
[in]. | rtype | - 希望する出力行列の型,というよりは,チャンネル数が入力と同じであることから得られる深さ. |
[in]. | alpha | - オプションのスケールファクタ |
[in]. | beta | - オプションで,スケーリングされた値に追加されるデルタ値. |
void cv::SparseMat::create | ( | int | dims, |
const int * | _sizes, | ||
int | _type | ||
) |
疎な行列を再配置します.
行列が既に適切なサイズと型を持っている場合は,単にclear()で単純にクリアされ,そうでない場合は,(release() を用いて)古い行列が解放され,新しい行列が確保されます.
size_t cv::SparseMat::elemSize | ( | ) | const |
疎な行列を古い形式の表現に変換し,すべての要素がコピーされます.
は,各要素のサイズをバイト単位で返します(オーバーヘッド(要素が占める空間)は含みません).SparseMat::Node要素が占める空間)は含まれません。
SparseMatIterator cv::SparseMat::end | ( | ) |
行列の終端にある,疎な行列のイテレータを返します.
疎な行列の最後の要素の次の要素を指す,疎な行列のイテレータを返します.
const _Tp * cv::SparseMat::find | ( | int | i0, |
size_t * |
hashval
=
0 |
||
) | const |
指定された要素へのポインタを返します(1 次元の場合)。
指定された疎行列の要素が存在する場合は,そのポインタを返します.
find<_Tp>(i0,...[,hashval])
は次のものと同じです.(_const Tp*)ptr(i0,...false[,hashval])
.
指定された要素が存在しない場合,このメソッドは NULL を返します。
uchar * cv::SparseMat::ptr | ( | int | i0, |
bool | createMissing, | ||
size_t * |
hashval
=
0 |
||
) |
指定された要素へのポインタを返します(1 次元の場合)。
1D, 2D, 3D に特化したバージョンと, n-D に特化した generic_type があります. 行列要素へのポインタを返します.
_Tp & cv::SparseMat::ref | ( | int | i0, |
size_t * |
hashval
=
0 |
||
) |
指定された要素への参照を返す(1次元の場合)
指定された疎な行列要素への読み書き可能な参照を返します.
ref<_Tp>(i0,...[,hashval])
は次のものと同じです.*(_Tp*)ptr(i0,...,true[,hashval])
. このメソッドは,常に有効な参照を返します.要素が存在しない場合,その要素は作成され,0 で初期化されます.
_Tp cv::SparseMat::value | ( | int | i0, |
size_t * |
hashval
=
0 |
||
) | const |
指定された要素の値を返します(1次元の場合)。
指定された疎な行列の要素の値を返します。
value<_Tp>(i0,...[,hashval])
は次のものと同じです.
つまり,要素が存在しない場合,メソッドは 0 を返します。