OpenCV 4.5.3(日本語機械翻訳)
|
n-ary multi-dimensional array iterator. [詳解]
#include <mat.hpp>
公開メンバ関数 |
|
NAryMatIterator () | |
デフォルトコンストラクタ |
|
NAryMatIterator (const Mat **arrays, uchar **ptrs, int narrays=-1) | |
任意のn次元の行列を受け取るフルコンストラクタ |
|
NAryMatIterator (const Mat **arrays, Mat *planes, int narrays=-1) | |
任意のn次元の行列を受け取るフルコンストラクタ |
|
void | init (const Mat **arrays, Mat *planes, uchar **ptrs, int narrays=-1) |
独立したイテレータの初期化方法 |
|
NAryMatIterator & | operator++ () |
反復された行列の次の平面に進む |
|
NAryMatIterator | operator++ (int) |
反復された各行列の次の平面に進む(後置インクリメント演算子). |
|
公開変数類 |
|
const Mat ** | arrays |
反復された配列. |
|
Mat * | planes |
現在の平面 |
|
uchar ** | ptrs |
データポインター |
|
int | narrays |
配列の数 |
|
size_t | nplanes |
イテレータが通過する超平面の数. |
|
size_t | size |
各セグメントのサイズ(要素数). |
|
限定公開変数類 |
|
int | iterdepth |
size_t | idx |
n-aryの多次元配列イテレータ.
このクラスを使って,多次元配列に対する単項,二項,そして一般的にはn-aryの要素単位の演算を実装します。n-ary 関数の引数には,連続した配列もあれば,そうでないものもあります.各配列に対して従来の MatIterator を使うことは可能ですが,小さな操作の後にすべてのイテレータをインクリメントするのは,大きなオーバーヘッドになります.この場合はNAryMatIteratorを使って,複数の行列を同時にイテレートすることを考えてみてください.ただし,それらの行列が同じジオメトリ(次元数,すべての次元サイズが同じ)である場合に限ります.各反復においてit.planes[0]
,it.planes[1]
,...は対応する行列のスライスになります。
以下の例は,正規化された閾値付きの3次元カラーヒストグラムを計算する方法を示しています.