ポインタのアラインメントを,指定したバイト数に揃えます.
パラメタ: |
|
---|
この関数は,入力ポインタと同じタイプの,アラインメントが調整されたポインタを返します.
バッファサイズのアラインメントを,指定したバイト数に揃えます.
パラメタ: |
|
---|
この関数は, sz 以上かつ n で割りきれる最小の値を返します.
要素の配列を確保します.
パラメタ: |
|
---|
汎用関数 allocate は,指定した要素数分のバッファを割り当てます.また,各要素に対してデフォルトコンストラクタが呼ばれます.
要素の配列を解放します.
パラメタ: |
|
---|
{バッファ内の要素数.
関数 deallocate は, allocate() によって割り当てられたバッファを解放します.要素数は allocate() に渡される値と一致しなければいけません.
実行時に条件をチェックします.
#define CV_Assert( expr ) ...
#define CV_DbgAssert(expr) ...
param expr: チェックされる式.
CV_Assert マクロや CV_DbgAssert マクロは指定された式を評価し,それが 0 ならばエラーを発生さます( error() を参照してください). CV_DbgAssert マクロはデバッグモードでのみ有効なのに対し, CV_Assert マクロはデバッグとリリースの両モードで条件をチェックします.
エラーを発生させ,例外を発行します.
パラメタ: |
|
---|
関数 error と,その補助マクロ CV_Error および CV_Error_ は,エラーハンドラを呼び出します.現在のエラーハンドラは,エラーコード( exc.code ),コンテキスト( exc.file , exc.line ),エラーメッセージ( exc.err )を,標準エラーストリーム stderr に表示します.デバッグモードでは,デバッガで実行スタックと全パラメータを分析できるように,メモリアクセス違反を引き起こします.リリースモードでは,例外 exc が投げられます.
CV_Error_ マクロは,エラーメッセージを実行時に作成し,これが動的情報を含むようにします.例えば:
// テキストメッセージ書式は,全体が括弧で囲まれることに注意してください.
CV_Error_(CV_StsOutOfRange,
("the matrix element (
i, j, mtx.at<float>(i,j)))
error に渡される例外クラス.
class Exception
{
public:
// 様々なコンストラクタとコピー処理
Exception() { code = 0; line = 0; }
Exception(int _code, const string& _err,
const string& _func, const string& _file, int _line);
Exception(const Exception& exc);
Exception& operator = (const Exception& exc);
// エラーコード
int code;
// エラーテキストメッセージ
string err;
// エラーが発生した関数名
string func;
// エラーが発生したソースのファイル名
string file;
// エラーが発生したソースの行番号
int line;
};
Exception クラスは,プログラム中で発生したエラーに関するすべての,あるいは,ほぼすべての必要情報をカプセル化します.通常, CV_Error マクロおよび CV_Error_ マクロを介して,例外が明示的に作成され投げられます. error() を参照してください.
アラインメントが調整されたメモリバッファを割り当てます.
パラメタ: |
|
---|
関数 fastMalloc は,指定されたサイズのバッファを割り当て,それを返します.バッファサイズが 16バイト以上の場合,返されるバッファのアラインメントは 16 バイト境界に調整されます.
メモリバッファを解放します.
パラメタ: |
|
---|
関数 fastFree は, fastMalloc() によって割り当てられたバッファを解放します.NULL ポインタが渡された場合,この関数は何も行いません.
pintf 風の表現を用いてフォーマットされたテキスト string を返します.
パラメタ: |
|
---|
関数 format は, sprintf のように振る舞いますが,STL string を作成して返します.これは Exception() コンストラクタで,エラーメッセージを作成する際に利用されます.
OpenCV で利用されているスレッド数を返します.
OpenCV で利用されているスレッド数を返します.
参考: setNumThreads() , getThreadNum() .
現在実行中のスレッドのインデックスを返します.
この関数は,現在実行されているスレッドのインデックス(0 基準)を返します.この関数は,OpenMP の並列領域内でのみ有効です.OpenCV が OpenMP をサポートしないようにビルドされている場合,この関数は常に 0 を返します.
参考: setNumThreads() , getNumThreads() .
tick 数を返します.
この関数は,あるイベント(例えば,マシン起動時)からの tick 数を返します. これは, RNG() を初期化したり,関数の呼び出し前後で tick 数を読み出すことで関数の実行時間を計測したりするのに用いられます.
1 秒毎の tick 数を返します.
この関数は,1秒毎の tick 数を返します. つまり以下のコードは,実行時間を秒単位で求めます.
double t = (double)getTickCount();
// 何らかの処理を行います ...
t = ((double)getTickCount() - t)/getTickFrequency();