![]() |
OpenCV 4.13.0
Open Source Computer Vision
|
コンパイル済みの計算(グラフ)を表す。いくつかの例外を除き、コンパイル時に対象とした画像/データ形式および解像度でのみ使用できる。続き...
#include <opencv2/gapi/gcompiled.hpp>
公開メンバ関数 | |
| GCompiled () | |
| 空のオブジェクトを構築する。 | |
| bool | canReshape () const |
| 基盤となるバックエンドがリシェイプをサポートするかどうかを確認する。 | |
| const GMetaArgs & | metas () const |
| このグラフがコンパイルされた対象のメタデータのベクトル。 | |
| operator bool () const | |
| コンパイル済みオブジェクトが有効(空でない)かどうかを確認する。 | |
| void | operator() (const std::vector< cv::Mat > &ins, const std::vector< cv::Mat > &outs) |
| 任意の数の入出力を持つ計算を実行する。 | |
| void | operator() (cv::Mat in, cv::Mat &out) |
| 単項計算を実行する。 | |
| void | operator() (cv::Mat in, cv::Scalar &out) |
| 単項計算を実行する。 | |
| void | operator() (cv::Mat in1, cv::Mat in2, cv::Mat &out) |
| 二項計算を実行する。 | |
| void | operator() (cv::Mat in1, cv::Mat in2, cv::Scalar &out) |
| 二項計算を実行する。 | |
| void | operator() (GRunArgs &&ins, GRunArgsP &&outs) |
| コンパイル済み計算を実行する汎用バージョン。 | |
| const GMetaArgs & | outMetas () const |
| グラフ出力のメタデータ記述のベクトル。 | |
| void | prepareForNewStream () |
| 新しいビデオストリームに向けて内部カーネルの状態を準備する。 | |
| void | reshape (const GMetaArgs &inMetas, const GCompileArgs &args) |
| コンパイル済みグラフをリシェイプして新しい画像解像度に対応させる。 | |
コンパイル済みの計算(グラフ)を表す。いくつかの例外を除き、コンパイル時に対象とした画像/データ形式および解像度でのみ使用できる。
このクラスはグラフコンパイル(cv::GComputation::compile() の呼び出し)の成果物を表す。このクラスのオブジェクトが実際にデータ処理を行い、グラフの実行はこのクラスのオブジェクトにカプセル化される。実行モデル自体は、コンパイル時に使用されたカーネルとバックエンドに依存する。詳細は G-API グラフコンパイル引数 を参照。
一般的には、GCompiled オブジェクトは、コンパイル時に対象とした形式/解像度のデータにのみ適用できる(G-APIメタデータ記述子 を参照)。ただし、基盤となるバックエンドが許せば、コンパイル済みオブジェクトをリシェイプして異なる解像度のデータ(画像)を扱えるようにできる。ただし形式と型は同じままでなければならない。
GCompiled は、その意味論において std::function<> と非常によく似ている。実行する様子はユーザコード内での関数呼び出しのように見える。
現時点では、GCompiled オブジェクトはリエントラントではない。グラフの実行自体がステートフルな処理であり、その状態は現在 GCompiled 自身のメモリ内(プロセススタック上ではない)に保持されるため、一般にオブジェクトはステートフルである。
同時に、単一の cv::GComputation から生成された2つの異なる GCompiled オブジェクトは完全に独立しており、並行して使用できる。
| cv::GCompiled::GCompiled | ( | ) |
空のオブジェクトを構築する。
| bool cv::GCompiled::canReshape | ( | ) | const |
基盤となるバックエンドがリシェイプをサポートするかどうかを確認する。
| const GMetaArgs & cv::GCompiled::metas | ( | ) | const |
このグラフがコンパイルされた対象のメタデータのベクトル。
|
explicit |
コンパイル済みオブジェクトが有効(非空)かどうかを確認する
| void cv::GCompiled::operator() | ( | const std::vector< cv::Mat > & | ins, |
| const std::vector< cv::Mat > & | outs ) |
任意の数の入出力を持つ計算を実行する。
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
ins/outs ベクトルの要素数は、元の GComputation を定義するために使用された入出力の数と一致しなければならない。
| void cv::GCompiled::operator() | ( | cv::Mat | in, |
| cv::Scalar & | out ) |
単項計算を実行する。
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
| in | 単項計算用の入力 cv::Mat |
| out | 単項計算処理用の出力 cv::Scalar。 |
| void cv::GCompiled::operator() | ( | cv::Mat | in1, |
| cv::Mat | in2, | ||
| cv::Scalar & | out ) |
二項計算を実行する。
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
| in1 | 二項計算用の1つ目の入力 cv::Mat |
| in2 | 二項計算用の2つ目の入力 cv::Mat |
| out | 二項計算処理用の出力 cv::Scalar。 |
コンパイル済み計算を実行する汎用バージョン。
| ins | 処理する入力のベクトル。 |
| outs | 生成する出力のベクトル。 |
入出力のベクトルは、(構築時点での)cv::GComputation プロトコルで定義されたのと同じ数の要素を持たなければならない。要素の形状もプロトコルに従わなければならない(例: cv::GMat が入力として宣言された箇所には cv::Mat を渡す必要がある、など)。そうでない場合は実行時例外が発生する。
出力ベクトル内のオブジェクトは(cv::Mat のように)空のままでよい。G-API が出力オブジェクトを適切な形式に自動的に初期化する。
| const GMetaArgs & cv::GCompiled::outMetas | ( | ) | const |
グラフ出力のメタデータ記述のベクトル。
| void cv::GCompiled::prepareForNewStream | ( | ) |
| void cv::GCompiled::reshape | ( | const GMetaArgs & | inMetas, |
| const GCompileArgs & | args ) |
コンパイル済みグラフをリシェイプして新しい画像解像度に対応させる。
エラーが発生した場合は例外をスローする。
| inMetas | リシェイプ先となる新しいメタデータ。ベクトルのサイズとメタデータの形状は、計算のプロトコルと一致しなければならない。 |
| args | 使用するコンパイル引数。 |