OpenCV 4.5.3(日本語機械翻訳)
|
クラス |
|
class | cv::PCA |
主成分分析[【詳解】(英語]
|
|
class | cv::LDA |
線形判別分析[【詳解】(英語]
|
|
class | cv::SVD |
特異値分解(Singular Value Decomposition)[【詳解】(英語]
|
|
class | cv::RNG |
乱数ジェネレータ[【詳解】(英語]
|
|
class | cv::RNG_MT19937 |
Mersenne Twister乱数生成器[【詳解】(英語]
|
|
関数 |
|
CV_EXPORTS_W int | cv::borderInterpolate (int p, int len, int borderType) |
外挿されたピクセルのソース位置を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::copyMakeBorder (InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType, const Scalar &value=Scalar()) |
画像の周囲に境界線を形成します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::add (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1) |
2 つの配列,あるいは配列とスカラの要素毎の和を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::subtract (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1) |
2つの配列同士,あるいは配列とスカラの 要素毎の差を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::multiply (InputArray src1, InputArray src2, OutputArray dst, double scale=1, int dtype=-1) |
2つの配列の要素毎のスケーリングされた積を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::divide (InputArray src1, InputArray src2, OutputArray dst, double scale=1, int dtype=-1) |
2 つの配列,あるいはスカラを配列で割るという,要素毎の除算を行います.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::divide (double scale, InputArray src2, OutputArray dst, int dtype=-1) |
CV_EXPORTS_W void | cv::scaleAdd (InputArray src1, double alpha, InputArray src2, OutputArray dst) |
スケーリングされた配列と別の配列の和を求めます。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::addWeighted (InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst, int dtype=-1) |
2つの配列の加重和を計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::convertScaleAbs (InputArray src, OutputArray dst, double alpha=1, double beta=0) |
スケーリングを行い,絶対値を計算し,その結果を8ビットに変換します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::convertFp16 (InputArray src, OutputArray dst) |
配列を半精度浮動小数点に変換します。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::LUT (InputArray src, InputArray lut, OutputArray dst) |
LUT :配列のルックアップテーブル変換を行います。[【詳解】(英語]
|
|
cv::CV_EXPORTS_AS (sumElems) Scalar sum(InputArray src) | |
配列の要素の和を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W int | cv::countNonZero (InputArray src) |
ゼロではない配列要素を数えます。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::findNonZero (InputArray src, OutputArray idx) |
0 ではないピクセルの位置のリストを返します[【詳解】(英語]
|
|
CV_EXPORTS_W Scalar | cv::mean (InputArray src, InputArray mask=noArray()) |
配列の要素の平均(mean)を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::meanStdDev (InputArray src, OutputArray mean, OutputArray stddev, InputArray mask=noArray()) |
CV_EXPORTS_W double | cv::norm (InputArray src1, int normType=NORM_L2, InputArray mask=noArray()) |
配列の絶対値ノルムを計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W double | cv::norm (InputArray src1, InputArray src2, int normType=NORM_L2, InputArray mask=noArray()) |
絶対差分ノルムや相対差分ノルムを求めます.[【詳解】(英語]
|
|
CV_EXPORTS double | cv::norm (const SparseMat &src, int normType) |
CV_EXPORTS_W double | cv::PSNR (InputArray src1, InputArray src2, double R=255.) |
画質指標であるPSNR(Peak Signal-to-Noise Ratio)を計算します。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::batchDistance (InputArray src1, InputArray src2, OutputArray dist, int dtype, OutputArray nidx, int normType=NORM_L2, int K=0, InputArray mask=noArray(), int update=0, bool crosscheck=false) |
naive nearest neighbor finder[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::normalize (InputArray src, InputOutputArray dst, double alpha=1, double beta=0, int norm_type=NORM_L2, int dtype=-1, InputArray mask=noArray()) |
配列のノルムや値の範囲を正規化します.[【詳解】(英語]
|
|
CV_EXPORTS void | cv::normalize (const SparseMat &src, SparseMat &dst, double alpha, int normType) |
CV_EXPORTS_W void | cv::minMaxLoc (InputArray src, CV_OUT double *minVal, CV_OUT double *maxVal=0, CV_OUT Point *minLoc=0, CV_OUT Point *maxLoc=0, InputArray mask=noArray()) |
配列のグローバルな最小値と最大値を求めます.[【詳解】(英語]
|
|
CV_EXPORTS void | cv::minMaxIdx (InputArray src, double *minVal, double *maxVal=0, int *minIdx=0, int *maxIdx=0, InputArray mask=noArray()) |
配列のグローバルな最小値と最大値を求める[【詳解】(英語]
|
|
CV_EXPORTS void | cv::minMaxLoc (const SparseMat &a, double *minVal, double *maxVal, int *minIdx=0, int *maxIdx=0) |
CV_EXPORTS_W void | cv::reduce (InputArray src, OutputArray dst, int dim, int rtype, int dtype=-1) |
行列をベクトルに変換します。[【詳解】(英語]
|
|
CV_EXPORTS void | cv::merge (const Mat *mv, size_t count, OutputArray dst) |
複数のシングルチャンネル配列から,1つのマルチチャンネル配列を作成します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::merge (InputArrayOfArrays mv, OutputArray dst) |
CV_EXPORTS void | cv::split (const Mat &src, Mat *mvbegin) |
マルチチャンネル配列を,複数のシングルチャンネル配列に分割します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::split (InputArray m, OutputArrayOfArrays mv) |
CV_EXPORTS void | cv::mixChannels (const Mat *src, size_t nsrcs, Mat *dst, size_t ndsts, const int *fromTo, size_t npairs) |
入力配列の指定されたチャンネルを,出力配列の指定されたチャンネルにコピーします.[【詳解】(英語]
|
|
CV_EXPORTS void | cv::mixChannels (InputArrayOfArrays src, InputOutputArrayOfArrays dst, const int *fromTo, size_t npairs) |
CV_EXPORTS_W void | cv::mixChannels (InputArrayOfArrays src, InputOutputArrayOfArrays dst, const std::vector< int > &fromTo) |
CV_EXPORTS_W void | cv::extractChannel (InputArray src, OutputArray dst, int coi) |
src から 1 つのチャンネルを抽出します( coi は 0 ベースのインデックスです )。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::insertChannel (InputArray src, InputOutputArray dst, int coi) |
dst に1つのチャンネルを挿入します( coi は 0 から始まるインデックス).[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::flip (InputArray src, OutputArray dst, int flipCode) |
2次元配列を,垂直,水平,または両軸で反転させます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::rotate (InputArray src, OutputArray dst, int rotateCode) |
2 次元配列を 90 度の倍数で回転させます。この関数はcv::rotateは,3つの異なる方法のうちの1つで配列を回転させます.時計回りに90度回転させる(rotateCode = ROTATE_90_CLOCKWISE)。時計回りに180度回転させる(rotateCode = ROTATE_180)。時計回りに270度回転します(rotateCode = ROTATE_90_COUNTERCLOCKWISE)。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::repeat (InputArray src, int ny, int nx, OutputArray dst) |
出力配列を,入力配列の繰り返しコピーで埋めます.[【詳解】(英語]
|
|
CV_EXPORTS Mat | cv::repeat (const Mat &src, int ny, int nx) |
CV_EXPORTS void | cv::hconcat (const Mat *src, size_t nsrc, OutputArray dst) |
与えられた行列に対して,水平方向の連結処理を行います.[【詳解】(英語]
|
|
CV_EXPORTS void | cv::hconcat (InputArray src1, InputArray src2, OutputArray dst) |
CV_EXPORTS_W void | cv::hconcat (InputArrayOfArrays src, OutputArray dst) |
CV_EXPORTS void | cv::vconcat (const Mat *src, size_t nsrc, OutputArray dst) |
与えられた行列に対して,垂直連結処理を行います.[【詳解】(英語]
|
|
CV_EXPORTS void | cv::vconcat (InputArray src1, InputArray src2, OutputArray dst) |
CV_EXPORTS_W void | cv::vconcat (InputArrayOfArrays src, OutputArray dst) |
CV_EXPORTS_W void | cv::bitwise_and (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray()) |
2 つの配列のビット毎の論理積を計算します (dst = src1 & src2) 2 つの配列,あるいは配列とスカラの要素毎のビット毎の論理積を計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::bitwise_or (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray()) |
2つの配列,あるいは,配列とスカラの要素ごとのビット単位の論理和を計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::bitwise_xor (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray()) |
2 つの配列,または配列とスカラの 要素毎に,ビット単位の排他的論理和を計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::bitwise_not (InputArray src, OutputArray dst, InputArray mask=noArray()) |
配列の全ビットを反転させます。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::absdiff (InputArray src1, InputArray src2, OutputArray dst) |
2つの配列、または配列とスカラの間の要素ごとの絶対値の差を計算します。[【詳解】(英語]
|
|
void CV_EXPORTS_W | cv::copyTo (InputArray src, OutputArray dst, InputArray mask) |
これはオーバーロードされたメンバ関数で,便宜上提供されています(python) 行列を別の行列にコピーします.操作マスクが指定されている場合はMat::createが行列を再割り当てした場合,データをコピーする前に,新しく割り当てられた行列がすべてゼロで初期化されます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::inRange (InputArray src, InputArray lowerb, InputArray upperb, OutputArray dst) |
配列の要素が,他の2つの配列の要素の間にあるかどうかをチェックします.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::compare (InputArray src1, InputArray src2, OutputArray dst, int cmpop) |
2つの配列,あるいは配列とスカラ値の要素毎の比較を行います.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::min (InputArray src1, InputArray src2, OutputArray dst) |
2つの配列,あるいは配列とスカラの要素毎の最小値を求めます.[【詳解】(英語]
|
|
CV_EXPORTS void | cv::min (const Mat &src1, const Mat &src2, Mat &dst) |
CV_EXPORTS void | cv::min (const UMat &src1, const UMat &src2, UMat &dst) |
CV_EXPORTS_W void | cv::max (InputArray src1, InputArray src2, OutputArray dst) |
2つの配列、または配列とスカラの要素ごとの最大値を計算します。[【詳解】(英語]
|
|
CV_EXPORTS void | cv::max (const Mat &src1, const Mat &src2, Mat &dst) |
CV_EXPORTS void | cv::max (const UMat &src1, const UMat &src2, UMat &dst) |
CV_EXPORTS_W void | cv::sqrt (InputArray src, OutputArray dst) |
配列の要素の平方根を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::pow (InputArray src, double power, OutputArray dst) |
配列の各要素をべき乗します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::exp (InputArray src, OutputArray dst) |
配列の各要素の指数を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::log (InputArray src, OutputArray dst) |
配列の各要素の自然対数を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::polarToCart (InputArray magnitude, InputArray angle, OutputArray x, OutputArray y, bool angleInDegrees=false) |
2次元ベクトルの大きさと角度から,そのx座標とy座標を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::cartToPolar (InputArray x, InputArray y, OutputArray magnitude, OutputArray angle, bool angleInDegrees=false) |
2次元ベクトルの大きさと角度を計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::phase (InputArray x, InputArray y, OutputArray angle, bool angleInDegrees=false) |
2次元ベクトルの回転角度を計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::magnitude (InputArray x, InputArray y, OutputArray magnitude) |
2次元ベクトルの大きさを計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W bool | cv::checkRange (InputArray a, bool quiet=true, CV_OUT Point *pos=0, double minVal=-DBL_MAX, double maxVal=DBL_MAX) |
入力配列の各要素に不正な値がないかをチェックします.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::patchNaNs (InputOutputArray a, double val=0) |
NaN を指定された数に変換します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::gemm (InputArray src1, InputArray src2, double alpha, InputArray src3, double beta, OutputArray dst, int flags=0) |
一般化された行列の乗算を行います。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::mulTransposed (InputArray src, OutputArray dst, bool aTa, InputArray delta=noArray(), double scale=1, int dtype=-1) |
行列とその転置行列の積を計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::transpose (InputArray src, OutputArray dst) |
行列の転置を行います.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::transform (InputArray src, OutputArray dst, InputArray m) |
配列の各要素に対して,行列変換を行います.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::perspectiveTransform (InputArray src, OutputArray dst, InputArray m) |
ベクトルの透視行列変換を行います.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::completeSymm (InputOutputArray m, bool lowerToUpper=false) |
正方行列の下半分または上半分を,もう一方の半分にコピーします.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::setIdentity (InputOutputArray mtx, const Scalar &s=Scalar(1)) |
スケーリングされた単位行列を初期化します.[【詳解】(英語]
|
|
CV_EXPORTS_W double | cv::determinant (InputArray mtx) |
浮動小数点型正方行列の行列式を返します.[【詳解】(英語]
|
|
CV_EXPORTS_W Scalar | cv::trace (InputArray mtx) |
行列のトレースを返します.[【詳解】(英語]
|
|
CV_EXPORTS_W double | cv::invert (InputArray src, OutputArray dst, int flags=DECOMP_LU) |
行列の逆行列,あるいは擬似逆行列を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W bool | cv::solve (InputArray src1, InputArray src2, OutputArray dst, int flags=DECOMP_LU) |
1 つ以上の連立方程式または最小二乗問題を解きます。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::sort (InputArray src, OutputArray dst, int flags) |
行列の各行または各列をソートします.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::sortIdx (InputArray src, OutputArray dst, int flags) |
行列の各行または各列をソートします.[【詳解】(英語]
|
|
CV_EXPORTS_W int | cv::solveCubic (InputArray coeffs, OutputArray roots) |
三次方程式の実根を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W double | cv::solvePoly (InputArray coeffs, OutputArray roots, int maxIters=300) |
多項式方程式の実根または複素根を求めます。[【詳解】(英語]
|
|
CV_EXPORTS_W bool | cv::eigen (InputArray src, OutputArray eigenvalues, OutputArray eigenvectors=noArray()) |
対称行列の固有値と固有ベクトルを計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::eigenNonSymmetric (InputArray src, OutputArray eigenvalues, OutputArray eigenvectors) |
非対称行列の固有値と固有ベクトルを求めます(実数の固有値のみ).[【詳解】(英語]
|
|
CV_EXPORTS void | cv::calcCovarMatrix (const Mat *samples, int nsamples, Mat &covar, Mat &mean, int flags, int ctype=CV_64F) |
ベクトルの集合の共分散行列を計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::calcCovarMatrix (InputArray samples, OutputArray covar, InputOutputArray mean, int flags, int ctype=CV_64F) |
CV_EXPORTS_W void | cv::PCACompute (InputArray data, InputOutputArray mean, OutputArray eigenvectors, int maxComponents=0) |
cv::CV_EXPORTS_AS (PCACompute2) void PCACompute(InputArray data | |
CV_EXPORTS_W void | cv::PCACompute (InputArray data, InputOutputArray mean, OutputArray eigenvectors, double retainedVariance) |
CV_EXPORTS_W void | cv::PCAProject (InputArray data, InputArray mean, InputArray eigenvectors, OutputArray result) |
CV_EXPORTS_W void | cv::PCABackProject (InputArray data, InputArray mean, InputArray eigenvectors, OutputArray result) |
CV_EXPORTS_W void | cv::SVDecomp (InputArray src, OutputArray w, OutputArray u, OutputArray vt, int flags=0) |
CV_EXPORTS_W void | cv::SVBackSubst (InputArray w, InputArray u, InputArray vt, InputArray rhs, OutputArray dst) |
CV_EXPORTS_W double | cv::Mahalanobis (InputArray v1, InputArray v2, InputArray icovar) |
2 つのベクトル間のマハラノビス距離を計算します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::dft (InputArray src, OutputArray dst, int flags=0, int nonzeroRows=0) |
1次元あるいは2次元の浮動小数点型配列に対して,離散フーリエ変換または逆変換を行います.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::idft (InputArray src, OutputArray dst, int flags=0, int nonzeroRows=0) |
1次元あるいは2次元の配列に対して,離散フーリエ変換の逆変換を行います.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::dct (InputArray src, OutputArray dst, int flags=0) |
1次元または2次元の配列に対して,離散コサイン変換または逆変換を行います.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::idct (InputArray src, OutputArray dst, int flags=0) |
1次元あるいは2次元配列の離散コサイン変換の逆変換を求めます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::mulSpectrums (InputArray a, InputArray b, OutputArray c, int flags, bool conjB=false) |
2つのフーリエ・スペクトルの要素毎の乗算を行います.[【詳解】(英語]
|
|
CV_EXPORTS_W int | cv::getOptimalDFTSize (int vecsize) |
与えられたベクトルサイズに対して,最適な DFT サイズを返します.[【詳解】(英語]
|
|
CV_EXPORTS RNG & | cv::theRNG () |
デフォルトの乱数生成器を返します。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::setRNGSeed (int seed) |
デフォルトの乱数生成器の状態を設定します.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::randu (InputOutputArray dst, InputArray low, InputArray high) |
一様に分散した単一の乱数または乱数の配列を生成します。[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::randn (InputOutputArray dst, InputArray mean, InputArray stddev) |
正規分布した乱数で配列を埋めます.[【詳解】(英語]
|
|
CV_EXPORTS_W void | cv::randShuffle (InputOutputArray dst, double iterFactor=1., RNG *rng=0) |
配列の要素をランダムにシャッフルします.[【詳解】(英語]
|
|
変数 |
|
InputOutputArray | cv::mean |
InputOutputArray OutputArray | cv::eigenvectors |
InputOutputArray OutputArray OutputArray | cv::eigenvalues |
InputOutputArray OutputArray OutputArray int | cv::maxComponents = 0) |
InputOutputArray OutputArray OutputArray double | cv::retainedVariance |
enum cv::BorderTypes |
様々な種類の境界線,画像の境界線を表すには|
enum cv::CmpTypes |
enum cv::DecompTypes |
行列分解の種類
列挙値 | |
---|---|
DECOMP_LU |
最適なピボット要素を選択するガウスの消去法. |
DECOMP_SVD |
特異値分解 (SVD) 法.システムが過大に定義されていたり,行列 src1 が特異であったりします. |
DECOMP_EIG |
固有値分解:行列 src1 は対称でなければいけません. |
DECOMP_CHOLESKY |
コレスキー |
DECOMP_QR |
QR 因数分解:システムが過剰に定義されていたり,行列 src1 が特異であったりします. |
DECOMP_NORMAL |
これまでのフラグはすべて相互に排他的ですが,このフラグはこれまでのフラグのどれかと一緒に使うことができます. |
enum cv::DftFlags |
enum cv::GemmFlags |
enum cv::NormTypes |
ノルムの種類
src1 と src2 は,入力配列を表します.
列挙値 | |
---|---|
NORM_INF |
|
NORM_L1 |
|
NORM_L2 |
|
NORM_L2SQR |
|
NORM_HAMMING |
入力配列が1つの場合,0からの距離を計算します.Hamming入力配列が1つの場合,その配列の0からの距離を計算します.Hamming配列間の距離を計算します。 |
ノルムハンマリング2 |
NORM_HAMMINGと似ていますが、計算の際に入力配列の各2ビットが加算され、NORM_HAMMINGと同じ計算に使用される1ビットとして扱われます。 |
NORM_TYPE_MASK |
ノルムフラグからノルムタイプを分離するために使用できるビットマスクです。 |
NORM_RELATIVE |
フラグ。 |
NORM_MINMAX |
フラグ。 |
enum cv::ReduceTypes |
enum cv::RotateFlags |
CV_EXPORTS_W void cv::absdiff | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst | ||
) |
2つの配列、または配列とスカラの間の要素ごとの絶対値の差を計算します。
この関数はcv::absdiffを計算します。2つの配列のサイズと型が同じ場合の絶対差。
2 番目の配列がスカラから構成されているか,あるいは,配列のチャンネル数と同数の要素を持つ場合の,配列とスカラの絶対値の差src1
:
第1の配列がスカラから作られているか,あるいは,第2の配列のチャンネル数と同じ数の要素を持っている場合の,スカラと配列の絶対値の差src2
:
ここで I は,配列要素の多次元インデックスです.マルチチャンネル配列の場合,各チャンネルは独立して処理されます.
src1 | 1 番目の入力配列またはスカラ. |
src2 | 2番目の入力配列,あるいはスカラ. |
dst | 入力配列と同じサイズ,同じ型である出力配列. |
CV_EXPORTS_W void cv::add | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst, | ||
InputArray |
mask
=
noArray() ,
|
||
int |
dtype
=
-1 |
||
) |
2 つの配列,あるいは配列とスカラの要素毎の和を求めます.
関数 add は,次のように計算します.
src1.channels()
:
src2.channels()
:
I
は,配列要素の多次元インデックスです.マルチチャンネル配列の場合,各チャンネルは独立して処理されます.上述のリストの最初の関数は,行列式で置き換えることができます.
入力配列と出力配列は,すべて同じ深さ,あるいは異なる深さを持つことができます.例えば,8ビットの符号付き配列に16ビットの符号なし配列を加算し,その和を32ビットの浮動小数点配列として格納することができます.出力配列の深さは、dtypeパラメータで決定されます。上記の 2 番目と 3 番目のケース,そして最初のケースと同様に, src1.depth() == src2.depth() の場合, dtype をデフォルトの -1 に設定することができます。 この場合,出力配列の深さは, src1,src2,またはその両方の入力配列と同じになります。
src1 | 1 番目の入力配列またはスカラ. |
src2 | 2番目の入力配列,あるいはスカラ. |
dst | 入力配列と同じサイズ,同じチャンネル数の出力配列.そのビット深度は, dtype または src1/src2 によって定義されます. |
mask | オプションである操作マスク - 8ビットのシングルチャンネル配列で,変更される出力配列の要素を指定します. |
dtype | オプションで,出力配列のビット深度を指定します(後述の説明を参照してください). |
CV_EXPORTS_W void cv::addWeighted | ( | InputArray | src1, |
double | alpha, | ||
InputArray | src2, | ||
double | beta, | ||
double | gamma, | ||
OutputArray | dst, | ||
int |
dtype
=
-1 |
||
) |
2つの配列の加重和を計算します.
関数 addWeighted は,以下のように 2 つの配列の加重和を計算します.
ここで I は,配列要素の多次元インデックスです.マルチチャンネル配列の場合,各チャンネルは個別に処理されます.この関数は,行列式で置き換えることができます.
src1 | 1番目の入力配列. |
alpha | 最初の配列要素の重み. |
src2 | src1 と同じサイズ,同じチャンネル数の 2 番目の入力配列. |
beta | 2 番目の配列要素の重み. |
gamma | それぞれの和に加えられるスカラ. |
dst | 入力配列と同じサイズ,同じチャンネル数の出力配列. |
dtype | オプションである出力配列のビット深度.両方の入力配列のビット深度が同じ場合, dtype に -1 を設定することができ,これは src1.depth() と同じになります. |
CV_EXPORTS_W void cv::batchDistance | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dist, | ||
int | dtype, | ||
OutputArray | nidx, | ||
int |
normType
=
NORM_L2
,
|
||
int |
K
=
0 ,
|
||
InputArray |
mask
=
noArray() ,
|
||
int |
update
=
0 ,
|
||
bool |
crosscheck
=
false |
||
) |
CV_EXPORTS_W void cv::bitwise_and | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst, | ||
InputArray |
mask
=
noArray() |
||
) |
2 つの配列のビット毎の論理積を計算します (dst = src1 & src2) 2 つの配列,あるいは配列とスカラの要素毎のビット毎の論理積を計算します.
この関数はcv::bitwise_andは,要素毎のビット単位の論理積を計算します.src1 と src2 が同じサイズの場合は,2つの配列.
src2 が スカラ から構成されるか,またはスカラと同じ要素数を持つ場合の,配列とスカラ.src1.channels()
:
src1 がスカラから作成されるか,または以下の要素数と同じである場合,スカラと配列.src2.channels()
:
浮動小数点型配列の場合は,マシン固有のビット表現(通常は IEEE754 準拠)が処理に利用されます.マルチチャンネル配列の場合,各チャンネルは独立して処理されます.上記の2番目と3番目のケースでは,まずスカラが配列型に変換されます.
src1 | 1 番目の入力配列またはスカラ. |
src2 | 2番目の入力配列,あるいはスカラ. |
dst | 入力配列と同じサイズ,同じ型である出力配列. |
mask | オプションのオペレーションマスク.8ビットのシングルチャンネル配列で,変更する出力配列の要素を指定します. |
CV_EXPORTS_W void cv::bitwise_not | ( | InputArray | src, |
OutputArray | dst, | ||
InputArray |
mask
=
noArray() |
||
) |
配列の全ビットを反転させます。
この関数はcv::bitwise_notは,入力配列の要素ごとのビット単位の反転を計算します。
浮動小数点型の入力配列の場合,マシン固有のビット表現(通常,IEEE754準拠)を用いて演算します.また,マルチチャンネル配列の場合は,各チャンネルが独立して処理されます.
src | 入力配列. |
dst | 入力配列と同じサイズ,同じ型の出力配列. |
mask | オプションのオペレーションマスク.8ビットのシングルチャンネル配列で,変更する出力配列の要素を指定します. |
CV_EXPORTS_W void cv::bitwise_or | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst, | ||
InputArray |
mask
=
noArray() |
||
) |
2つの配列,あるいは,配列とスカラの要素ごとのビット単位の論理和を計算します.
この関数はcv::bitwise_or要素毎のビット単位の論理和を計算します.src1 と src2 が同じサイズの場合の 2 つの配列.
src2 が スカラ から構成されるか,またはスカラと同じ要素数を持つ場合の,配列とスカラ.src1.channels()
:
src1 がスカラから作成されるか,または以下の要素数と同じである場合,スカラと配列.src2.channels()
:
浮動小数点型配列の場合は,マシン固有のビット表現(通常は IEEE754 準拠)が処理に利用されます.マルチチャンネル配列の場合,各チャンネルは独立して処理されます.上記の2番目と3番目のケースでは,まずスカラが配列型に変換されます.
src1 | 1 番目の入力配列またはスカラ. |
src2 | 2番目の入力配列,あるいはスカラ. |
dst | 入力配列と同じサイズ,同じ型である出力配列. |
mask | オプションのオペレーションマスク.8ビットのシングルチャンネル配列で,変更する出力配列の要素を指定します. |
CV_EXPORTS_W void cv::bitwise_xor | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst, | ||
InputArray |
mask
=
noArray() |
||
) |
2 つの配列,または配列とスカラの 要素毎に,ビット単位の排他的論理和を計算します.
この関数はcv::bitwise_xor要素毎に,ビット単位の論理和「排他的論理和」を計算します.src1 と src2 が同じサイズの場合の 2 つの配列.
src2 が スカラ から構成されるか,またはスカラと同じ要素数を持つ場合の,配列とスカラ.src1.channels()
:
src1 がスカラから作成されるか,または以下の要素数と同じである場合,スカラと配列.src2.channels()
:
浮動小数点型配列の場合は,マシン固有のビット表現(通常は IEEE754 準拠)が演算に利用されます.また,マルチチャンネル配列の場合は,各チャンネルが独立して処理されます.上記の2番目と3番目のケースでは,まずスカラが配列型に変換されます.
src1 | 1 番目の入力配列またはスカラ. |
src2 | 2番目の入力配列,あるいはスカラ. |
dst | 入力配列と同じサイズ,同じ型である出力配列. |
mask | オプションのオペレーションマスク.8ビットのシングルチャンネル配列で,変更する出力配列の要素を指定します. |
CV_EXPORTS_W int cv::borderInterpolate | ( | int | p, |
int | len, | ||
int | borderType | ||
) |
外挿されたピクセルのソース位置を求めます.
この関数は,指定された外挿分割モードを用いた場合に,指定された外挿分割ピクセルに対応するドナーピクセルの座標を計算して返します.例えば、水平方向にcv::BORDER_WRAPモードを水平方向に使用しcv::BORDER_REFLECT_101を垂直方向に使用し,浮動小数点型画像 img 内の「仮想」ピクセル Point(-5, 100) の値を計算したい場合は,次のようになります.
通常,この関数は直接呼び出されることはありません.この関数は,フィルタリング関数の中や,copyMakeBorder の中で使われます.
p | 外挿されたピクセルの,いずれかの軸に沿った0ベースの座標,<0 or >= len |
len | 対応する軸に沿った配列の長さを表します. |
borderType | ボーダーの種類.BorderTypesを除く。BORDER_TRANSPARENTおよびBORDER_ISOLATED. borderType==BORDER_CONSTANTの場合,この関数は p や len に関わらず常に -1 を返します. |
CV_EXPORTS void cv::calcCovarMatrix | ( | const Mat * | samples, |
int | nsamples, | ||
Mat & | covar, | ||
Mat & | mean, | ||
int | flags, | ||
int |
ctype
=
CV_64F |
||
) |
ベクトルの集合の共分散行列を計算します.
この関数はcv::calcCovarMatrixは,入力ベクトル集合の共分散行列と,任意に平均ベクトルを計算します.
samples | 別々の行列として格納されたサンプル |
nsamples | サンプル数 |
covar | ctype 型,正方形サイズの共分散行列を出力します. |
mean | 入力ベクトルの平均値を表す,入力または出力(フラグに依存)の配列. |
flags | 以下の組み合わせである操作フラグCovarFlags |
ctype | matrixl の型.デフォルトでは,「CV_64F」になります. |
CV_EXPORTS_W void cv::calcCovarMatrix | ( | InputArray | samples, |
OutputArray | covar, | ||
InputOutputArray | mean, | ||
int | flags, | ||
int |
ctype
=
CV_64F |
||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
samples | のサンプルは,1つの行列の行/列として格納されます. |
covar | ctype 型,正方形サイズの共分散行列を出力します. |
mean | 入力ベクトルの平均値を表す,入力または出力(フラグに依存)の配列. |
flags | 以下の組み合わせである操作フラグCovarFlags |
ctype | matrixl の型.デフォルトでは,「CV_64F」になります. |
CV_EXPORTS_W void cv::cartToPolar | ( | InputArray | x, |
InputArray | y, | ||
OutputArray | magnitude, | ||
OutputArray | angle, | ||
bool |
angleInDegrees
=
false |
||
) |
2次元ベクトルの大きさと角度を計算します.
この関数はcv::cartToPolarこの関数は,すべての2次元ベクトル (x(I),y(I)) に対して,大きさ,角度,あるいはその両方を計算します.
角度は約0.3度の精度で計算されます。角度は約0.3度の精度で計算されます。点(0,0)の場合,角度は0に設定されます。
x | x座標の配列.これは,単精度または倍精度の浮動小数点型配列でなければいけません. |
y | y座標の配列.xと同じサイズ,同じ型でなければいけません. |
magnitude | xと同じサイズ,同じ型の大きさの出力配列. |
angle | x と同じサイズ,同じ型の角度の出力配列.角度は,ラジアン(0 から 2*Pi まで)または度(0 から 360 度)で表されます. |
angleInDegrees | 角度をラジアン(デフォルト)で測るか,あるいは度で測るかを示すフラグです. |
CV_EXPORTS_W bool cv::checkRange | ( | InputArray | a, |
bool |
quiet
=
true ,
|
||
CV_OUT Point * |
pos
=
0 ,
|
||
double |
minVal
=
-DBL_MAX ,
|
||
double |
maxVal
=
DBL_MAX |
||
) |
入力配列の各要素に不正な値がないかをチェックします.
この関数はcv::checkRange配列の各要素が NaN でも無限でもないことをチェックします。minVal > -DBL_MAX かつ maxVal < DBL_MAX の場合,各値が minVal と maxVal の間にあるかどうかもチェックします。マルチチャンネル配列の場合,各チャンネルは独立して処理されます.いくつかの値が範囲外である場合,最初に外れた値の位置が pos に格納されます( pos != NULL の場合).その後,この関数は false を返すか( quiet=true の場合),例外を発生させます.
a | 入力配列. |
quiet | フラグ.これは,配列要素が範囲外の場合に,関数が静かに false を返すか,例外を発生させるかを示します. |
pos | オプションの出力パラメータ.NULLでない場合は, src.dims 要素の配列へのポインタでなければいけません. |
minVal | 有効な値の範囲の下界を含みます. |
maxVal | 有効な値の範囲の上側の排他的境界 |
CV_EXPORTS_W void cv::compare | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst, | ||
int | cmpop | ||
) |
2つの配列,あるいは配列とスカラ値の要素毎の比較を行います.
この関数は,以下の比較を行います src1 と src2 のサイズが同じである場合,2つの配列の要素を比較します.
src2 がスカラから構成されているか,単一の要素を持つ場合は, src1 の要素とスカラ src2 とを比較します.
src1 がスカラから構築されているか,単一の要素を持っている場合は, src2 の要素を持つ src1.
比較結果が真の場合は,出力配列の対応する要素が 255 になります.これらの比較演算は,等価な行列式で置き換えることができます.
src1 | 1 番目の入力配列またはスカラ;配列である場合は,単一のチャンネルを持たなければならない. |
src2 | 2 番目の入力配列またはスカラ,それが配列の場合は単一チャンネルでなければいけません. |
dst | 入力配列と同じサイズ,同じチャンネル数を持つ,ref CV_8U 型の出力配列. |
cmpop | 配列同士の対応関係を指定するフラグ(以下).cv::CmpTypes) |
CV_EXPORTS_W void cv::completeSymm | ( | InputOutputArray | m, |
bool |
lowerToUpper
=
false |
||
) |
正方行列の下半分または上半分を,もう一方の半分にコピーします.
この関数はcv::completeSymmは,正方行列の下半分または上半分を,もう半分にコピーします.行列の対角線は変更されません。
m | 入出力可能な浮動小数点型正方行列. |
lowerToUpper | 演算フラグ.trueの場合,下半分が上半分にコピーされます.そうでなければ,上半分が下半分にコピーされます. |
CV_EXPORTS_W void cv::convertFp16 | ( | InputArray | src, |
OutputArray | dst | ||
) |
配列を半精度浮動小数点に変換します。
この関数は,FP32(単精度浮動小数点)をFP16(半精度浮動小数点)と相互に変換します.CV_16S フォーマットは,FP16 データを表現するために利用されます.2つの使用モード( src -> dst )があります.CV_32F -> CV_16S と CV_16S -> CV_32F です.CV_32F -> CV_16S と CV_16S -> CV_32F です.ビット深度を表すためには,入力配列の型が CV_32F か CV_16S でなければいけません.入力配列がそのどちらでもない場合,この関数はエラーを発生させます.半精度浮動小数点のフォーマットは,IEEE 754-2008 で定義されています.
src | 入力配列. |
dst | 出力配列. |
CV_EXPORTS_W void cv::convertScaleAbs | ( | InputArray | src, |
OutputArray | dst, | ||
double |
alpha
=
1 ,
|
||
double |
beta
=
0 |
||
) |
スケーリングを行い,絶対値を計算し,その結果を8ビットに変換します.
関数 convertScaleAbs は,入力配列の各要素に対して,スケーリング,絶対値の取り方,符号なし8ビット型への変換,という3つの処理を順次行います.
マルチチャンネル配列の場合,この関数は各チャンネルを個別に処理します.出力が8ビットではない場合,この操作はMat::convertToメソッドを呼び出して(あるいは,行列式を使って),その結果の絶対値を計算することで,操作をエミュレートすることができます.例えば,以下のようになります.
src | 入力配列. |
dst | 出力配列. |
alpha | オプションのスケールファクタ. |
beta | オプションで,スケーリングされた値に加えられるデルタ. |
CV_EXPORTS_W void cv::copyMakeBorder | ( | InputArray | src, |
OutputArray | dst, | ||
int | top, | ||
int | bottom, | ||
int | left, | ||
int | right, | ||
int | borderType, | ||
const Scalar & |
value
=
Scalar() |
||
) |
画像の周囲に境界線を形成します.
この関数は,入力画像を出力画像の中央にコピーします.コピーされた元画像の左,右,上,下の領域は,外挿されたピクセルで埋められます.これは,この関数を基にしたフィルタリング関数が行っていること(オンザフライでピクセルを外挿すること)とは異なりますが,あなた自身の関数を含む他のより複雑な関数が,画像の境界処理を簡単にするために行っていることもあります.
この関数は, src が既に dst の中央に位置している場合のモードをサポートします.この場合,この関数は src 自体をコピーするのではなく,例えば,境界線を単に作成します.
src | 元画像。 |
dst | src と同じタイプで,サイズが Size(src.cols+left+right, src.rows+top+bottom) である出力画像. |
top | 上のピクセル |
bottom | 下側のピクセル |
left | 左側のピクセル |
right | ソース画像の矩形領域から、それぞれの方向に何ピクセルずつ外挿するかを指定するパラメータ。例えば, top=1, bottom=1, left=1, right=1 とすると,1ピクセル幅のボーダーを作成する必要があります. |
borderType | ボーダーの種類。詳しくは borderInterpolateを参照してください。 |
value | borderType==BORDER_CONSTANT の場合のボーダー値。 |
void CV_EXPORTS_W cv::copyTo | ( | InputArray | src, |
OutputArray | dst, | ||
InputArray | mask | ||
) |
これはオーバーロードされたメンバ関数で,便宜上提供されています(python) 行列を別の行列にコピーします.操作マスクが指定されている場合はMat::createが行列を再割り当てした場合,データをコピーする前に,新しく割り当てられた行列がすべてゼロで初期化されます.
src | コピー元の行列。 |
dst | コピー先の行列。演算前に適切なサイズや型を持っていない場合は,再割り当てされます. |
mask | this と同じサイズの演算マスク.その非0の要素は,どの行列要素をコピーする必要があるかを示します.このマスクは,CV_8U型でなければならず,1つまたは複数のチャンネルを持つことができます. |
CV_EXPORTS_W int cv::countNonZero | ( | InputArray | src | ) |
ゼロではない配列要素を数えます。
この関数は, src の 0 ではない要素の数を返します.
src | シングルチャンネル配列. |
cv::CV_EXPORTS_AS | ( | PCACompute2 | ) |
PCA::operator() をラップし,固有値の出力パラメータを追加します.
cv::CV_EXPORTS_AS | ( | sumElems | ) |
配列の要素の和を求めます.
関数 cv::sum は,各チャンネル毎に配列要素の和を求め,それを返します.
src | 1 から 4 までのチャンネルを持つ入力配列. |
CV_EXPORTS_W void cv::dct | ( | InputArray | src, |
OutputArray | dst, | ||
int |
flags
=
0 |
||
) |
1次元または2次元の配列に対して,離散コサイン変換または逆変換を行います.
この関数はcv::dctは,1次元または2次元の浮動小数点配列に対して,離散コサイン変換(DCT)を行います.
この関数は,入力配列のフラグとサイズを見て,動作モードを選択します.
src | 入力浮動小数点配列. |
dst | src と同じサイズ,同じ型の出力配列. |
flags | の組み合わせである変換フラグ.cv::DftFlags(DCT_*) |
CV_EXPORTS_W double cv::determinant | ( | InputArray | mtx | ) |
浮動小数点型正方行列の行列式を返します.
この関数はcv::determinantこの関数は,指定された行列の行列式を計算して返します.小さい行列( mtx.cols=mtx.rows<=3 )に対しては,直接法が用いられます.より大きな行列に対しては,部分的にピボットを用いた LU 因数分解が用いられます.
対称的な正定値行列に対しては,固有値分解を用いて行列式を計算することも可能です.
mtx | CV_32FC1 または CV_64FC1 型で,サイズが正方形でなければならない入力行列. |
CV_EXPORTS_W void cv::dft | ( | InputArray | src, |
OutputArray | dst, | ||
int |
flags
=
0 ,
|
||
int |
nonzeroRows
=
0 |
||
) |
1次元あるいは2次元の浮動小数点型配列に対して,離散フーリエ変換または逆変換を行います.
この関数はcv::dftは,以下のいずれかの処理を行います.
実数(シングルチャンネル)のデータの場合,フーリエ変換の出力スペクトルやフーリエ変換の入力スペクトルは,次のようなパック形式で表されます。CCS(complex-conjugate-symmetrical)と呼ばれるパック形式で表されます。これはIPL(Intel* Image Processing Library)から拝借したものです。ここでは、2DCCSスペクトルはこんな感じです。
実数ベクトルの1次元変換の場合,出力は上の行列の1行目のようになります。
つまり,この関数は,フラグと入力配列のサイズに応じて,処理モードを選択します.
もしDFT_SCALEがセットされている場合は,変換後にスケーリングが行われます.
dct とは異なり,この関数は任意のサイズの配列をサポートします.しかし,小さな素数(現在の実装では,2,3,5)の積でサイズが因数分解できるような配列だけが,効率的に処理されます.このような効率的なDFTサイズは,getOptimalDFTSizeメソッドを用いて計算できます.
以下のサンプルは,2つの2次元実数配列のDFTベースの畳み込みを計算する方法を示しています.
このサンプルを最適化するために,以下のようなアプローチを検討します.
上記の改良点はすべて、次のように実装されています。matchTemplateおよびfilter2D. したがって,これらを利用すれば,上記の理論的に最適な実装よりもさらに優れた性能を得ることができます。ただし,これらの2つの関数は,実際には畳み込みではなく相互相関を計算しているので,2番目の畳み込みオペランドBをflip .NETを使って縦横に反転させる必要があります.
src | 実数または複素数の入力配列。 |
dst | 出力配列.そのサイズと型はフラグに依存します. |
flags | の組み合わせを表す変換フラグ。DftFlags |
nonzeroRows | このパラメータが0ではない場合,この関数は入力配列の最初の非0Rows行のみを想定します (DFT_INVERSEがセットされていない場合),あるいは出力配列の最初の nonzeroRows 行だけが非ゼロを含んでいると仮定します。DFT_INVERSEこのテクニックは,DFTを用いて配列の相互相関や畳み込みを計算する際に非常に有用です. |
CV_EXPORTS_W void cv::divide | ( | double | scale, |
InputArray | src2, | ||
OutputArray | dst, | ||
int |
dtype
=
-1 |
||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
CV_EXPORTS_W void cv::divide | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst, | ||
double |
scale
=
1 ,
|
||
int |
dtype
=
-1 |
||
) |
2 つの配列,あるいはスカラを配列で割るという,要素毎の除算を行います.
この関数はcv::divideは,ある配列を別の配列で分割します.
src1 が存在しない場合は, スカラを配列で分割します.
マルチチャンネル配列の異なるチャンネルは,独立して処理されます.
整数型の場合, src2(I) が0の時, dst(I) も0になります.
src1 | 1番目の入力配列. |
src2 | src1 と同じサイズ,同じ型の 2 番目の入力配列. |
scale | スカラー係数. |
dst | src2 と同じサイズ,同じ型の出力配列. |
dtype | オプションで,出力配列のビット深度を指定します. -1 の場合,dst のビット深度は src2.depth() となりますが,配列対配列の分割の場合は, src1.depth()==src2.depth() の時にのみ -1 を渡すことができます. |
CV_EXPORTS_W bool cv::eigen | ( | InputArray | src, |
OutputArray | eigenvalues, | ||
OutputArray |
eigenvectors
=
noArray() |
||
) |
対称行列の固有値と固有ベクトルを計算します.
この関数はcv::eigenは,対称行列 src の固有値のみ,あるいは固有値と固有ベクトルを計算します.
src | CV_32FC1 または CV_64FC1 型の入力行列.サイズは正方で,対称でなければいけません( src ^T^ == src ). |
eigenvalues | src と同じ型の固有値の出力ベクトル.固有値は降順に格納されます. |
eigenvectors | src と同じサイズ,同じ型の固有ベクトルの出力行列.固有ベクトルは,対応する固有値と同じ順番で,後続の行列の行として保存されます. |
CV_EXPORTS_W void cv::eigenNonSymmetric | ( | InputArray | src, |
OutputArray | eigenvalues, | ||
OutputArray | eigenvectors | ||
) |
非対称行列の固有値と固有ベクトルを求めます(実数の固有値のみ).
この関数は,正方行列 src の固有値と固有ベクトル(オプション)を求めます.
src | 入力行列(CV_32FC1 または CV_64FC1 型). |
eigenvalues | 固有値の出力ベクトル(型は src と同じです). |
eigenvectors | 固有ベクトルの出力行列(型は src と同じです).固有ベクトルは,対応する固有値と同じ順番で,後続の行列の行として保存されます. |
CV_EXPORTS_W void cv::exp | ( | InputArray | src, |
OutputArray | dst | ||
) |
配列の各要素の指数を求めます.
この関数はcv::expは,入力配列の各要素の指数を計算します.
最大の相対誤差は,単精度入力では約7e-6,倍精度入力では1e-10未満です.現在,この関数は,非正規化された値をゼロに変換して出力します.特殊な値(NaN,Inf)は扱いません。
src | 入力配列. |
dst | src と同じサイズ・タイプの配列を出力します。 |
CV_EXPORTS_W void cv::extractChannel | ( | InputArray | src, |
OutputArray | dst, | ||
int | coi | ||
) |
src から 1 つのチャンネルを抽出します( coi は 0 ベースのインデックスです )。
src | 入力配列 |
dst | 出力配列 |
coi | 抽出するチャンネルのインデックス |
CV_EXPORTS_W void cv::findNonZero | ( | InputArray | src, |
OutputArray | idx | ||
) |
0 ではないピクセルの位置のリストを返します
バイナリ行列が与えられた場合(おそらく,次のような処理から返されますthreshold(),compare()のような演算から返されたものと思われます),非ゼロのインデックスのすべてをcv::Matまたは std::vector<cv::Point> (x,y) 例えば,以下のようになります.
または
src | シングルチャンネル配列 |
idx | 出力配列で,型はcv::Matまたは std::vector<Point> であり,入力配列中の 0 ではないインデックスに対応します. |
CV_EXPORTS_W void cv::flip | ( | InputArray | src, |
OutputArray | dst, | ||
int | flipCode | ||
) |
2次元配列を,垂直,水平,または両軸で反転させます.
この関数はcv::flipは,3つの異なる方法のうちの1つで配列を反転させます(行と列のインデックスは0ベースです).
この関数の使用例としては,以下のようなものがあります.画像を垂直方向に反転させ(flipCode == 0)、画像の左上と左下の原点を切り替える。Microsoft Windows*での動画処理でよく見られる操作です。垂直軸方向の対称性を確認するために、水平方向に反転させた後、水平方向にシフトさせ、差分の絶対値を計算する(flipCode > 0)。水平・垂直方向に同時に反転させ、その後シフトと絶対値の差を計算して中心軸の対称性を確認する(flipCode < 0)。点配列の順序を反転させる(flipCode > 0 または flipCode == 0).
src | 入力配列. |
dst | src と同じサイズ・タイプの配列を出力します。 |
flipCode | 配列の反転方法を指定するフラグ.0はX軸を中心に反転し,正の値(例えば,1)はY軸を中心に反転することを意味する.負の値(例えば,-1)は,両軸を中心に反転することを意味します。 |
CV_EXPORTS_W void cv::gemm | ( | InputArray | src1, |
InputArray | src2, | ||
double | alpha, | ||
InputArray | src3, | ||
double | beta, | ||
OutputArray | dst, | ||
int |
flags
=
0 |
||
) |
一般化された行列の乗算を行います。
この関数はcv::gemmBLASレベル3のgemm関数と同様に、一般化された行列の乗算を行います。例えば、以下のようになります。gemm(src1, src2, alpha, src3, beta, dst, GEMM_1_T + GEMM_3_T)
は次のようになります。
複素数(2チャンネル)のデータの場合,複素数の行列乗算を行います.
この関数は,行列式に置き換えることができます.例えば,上記の呼び出しは次のように置き換えることができます.
src1 | 実数(CV_32FC1, CV_64FC1) または複素数(CV_32FC2, CV_64FC2) である入力行列を乗算した1番目の行列. |
src2 | src1 と同じ型の,乗算される2番目の入力行列. |
alpha | 行列の積の重み. |
src3 | src1 と src2 と同じ型の,行列積に追加されるオプションの 3 番目のデルタ行列. |
beta | src3 の重み. |
dst | 出力行列.入力行列と同じ型で,適切なサイズの行列. |
flags | 演算フラグ (cv::GemmFlags) |
CV_EXPORTS_W int cv::getOptimalDFTSize | ( | int | vecsize | ) |
与えられたベクトルサイズに対して,最適な DFT サイズを返します.
DFT の性能は,ベクトルサイズの単調な関数ではありません.したがって,2つの配列の畳み込みを計算したり,配列のスペクトル分析を行ったりする場合は,通常,入力データをゼロで埋めて,元の配列よりも高速に変換できる少し大きな配列を得ることが理にかなっています.サイズが2の累乗(2,4,8,16,32,...)である配列は,最も高速に処理できます.ただし,サイズが2の累乗,3の累乗,5の累乗である配列(例えば,300 = 5*5*3*2*2)も非常に効率的に処理されます.
この関数はcv::getOptimalDFTSizeは,サイズNのベクトルのDFTを効率的に処理できるような,vecsize以上の最小の数Nを返します.現在の実装では,N = 2 ^p^ * 3 ^q^ * 5 ^r^ for some integer p, q, r となっています。
この関数は, vecsize が大きすぎる場合(INT_MAX に非常に近い場合),負の値を返します.
この関数は,DCT変換に最適なベクトルサイズを推定するために直接利用することはできませんが(現在のDCT実装は,偶数サイズのベクトルしかサポートしていないので), getOptimalDFTSize((vecsize+1)/2)*2 のように簡単に処理することができます.
vecsize | ベクトルサイズを指定します。 |
CV_EXPORTS void cv::hconcat | ( | const Mat * | src, |
size_t | nsrc, | ||
OutputArray | dst | ||
) |
与えられた行列に対して,水平方向の連結処理を行います.
この関数は,2つ以上の(同じ数の)行列を水平方向に連結します。cv::Mat行数が同じ)行列を水平連結します。
src | 入力 行列の配列またはベクトル.すべての行列は,同じ行数,同じ深さでなければいけません. |
nsrc | src に含まれる行列の数. |
dst | 出力配列.src と同じ行数,同じ深さ,そして src の col の合計値を持ちます. |
CV_EXPORTS void cv::hconcat | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst | ||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
src1 | 水平方向の連結が考慮される 1 番目の入力配列. |
src2 | 水平方向に連結されることが考慮される 2 番目の入力配列. |
dst | 出力配列.src1 と src2 と同じ行数と深さ,そして src1 と src2 の col の合計値を持ちます. |
CV_EXPORTS_W void cv::hconcat | ( | InputArrayOfArrays | src, |
OutputArray | dst | ||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
src | 入力 行列の配列またはベクトル.すべての行列は,同じ行数,同じ深さでなければいけません. |
dst | 出力配列.src と同じ行数と深さを持ち, src の col の合計値と同じ深さを持ちます. |
CV_EXPORTS_W void cv::idct | ( | InputArray | src, |
OutputArray | dst, | ||
int |
flags
=
0 |
||
) |
1次元あるいは2次元配列の離散コサイン変換の逆変換を求めます.
idct(src, dst, flags) は, dct(src, dst, flags | DCT_INVERSE) と同等です.
src | 入力 浮動小数点型シングルチャンネル配列. |
dst | src と同じサイズ・タイプの配列を出力します。 |
flags | 操作フラグ. |
CV_EXPORTS_W void cv::idft | ( | InputArray | src, |
OutputArray | dst, | ||
int |
flags
=
0 ,
|
||
int |
nonzeroRows
=
0 |
||
) |
1次元あるいは2次元の配列に対して,離散フーリエ変換の逆変換を行います.
idft(src, dst, flags) は, dft(src, dst, flags |DFT_INVERSE) .
src | 入力 浮動小数点型の実数あるいは複素数の配列. |
dst | 出力配列.そのサイズと型は,フラグに依存します. |
flags | 処理フラグ( dft および idft を参照してください).DftFlags). |
nonzeroRows | 処理するdst行の数.残りの行は,未定義の内容を持ちます(dftの説明にある畳み込みサンプルを参照してください). |
CV_EXPORTS_W void cv::inRange | ( | InputArray | src, |
InputArray | lowerb, | ||
InputArray | upperb, | ||
OutputArray | dst | ||
) |
配列の要素が,他の2つの配列の要素の間にあるかどうかをチェックします.
この関数は,次のようにして範囲をチェックします.
つまり, src (I) が指定された 1D, 2D, 3D, ... のボックス内にあれば dst (I) は 255(全てのビットが 1)にセットされ,そうでなければ 0 にセットされます.
なお,下側境界線や上側境界線のパラメータがスカラの場合は,上記の式における lowerb と upperb のインデックス(I)を省略します.
src | 1番目の入力配列. |
lowerb | 下側境界線を含む配列またはスカラー |
upperb | 包括的な上限値を持つ配列,またはスカラ. |
dst | src と同じサイズで, CV_8U 型の出力配列. |
CV_EXPORTS_W void cv::insertChannel | ( | InputArray | src, |
InputOutputArray | dst, | ||
int | coi | ||
) |
dst に1つのチャンネルを挿入します( coi は 0 から始まるインデックス).
src | 入力配列 |
dst | 出力配列 |
coi | 挿入するチャンネルのインデックス. |
CV_EXPORTS_W double cv::invert | ( | InputArray | src, |
OutputArray | dst, | ||
int |
flags
=
DECOMP_LU
|
||
) |
行列の逆行列,あるいは擬似逆行列を求めます.
この関数はcv::invertは,行列 src を逆にして,その結果を dst に格納します.行列 src が特異点または非正方である場合,この関数は, norm(src*dst - I) が最小になるように擬似逆行列(dst 行列)を求めます(I は単位行列).
メソッドの場合はDECOMP_LUメソッドの場合,逆行列の計算に成功した場合は 0 以外の値を返し, src が特異な場合は 0 を返します.
メソッドの場合はDECOMP_SVDメソッドの場合,この関数は src の条件数の逆数(最小の特異値と最大の特異値の比)を返し, src が特異な場合は 0 を返します.このSVDメソッドは, src が特異な場合,擬似逆行列を計算します.
と同様にDECOMP_LUこのメソッドはDECOMP_CHOLESKYは,対称かつ正定値であるべき非特異な正方行列に対してのみ動作します.この場合,この関数は反転した行列を dst に格納し,0 ではない値を返します.そうでない場合は,0 を返します。
src | 入力 浮動小数点型の M x N 行列. |
dst | src と同じ型で,サイズが N x M の行列を出力します. |
flags | 反転法 (cv::DecompTypes) |
CV_EXPORTS_W void cv::log | ( | InputArray | src, |
OutputArray | dst | ||
) |
配列の各要素の自然対数を求めます.
この関数はcv::logは,入力配列の各要素の自然対数を計算します.
ゼロ,負,特殊な値(NaN, Inf)に対する出力は不定です.
src | 入力配列. |
dst | src と同じサイズ,同じ型の出力配列. |
CV_EXPORTS_W void cv::LUT | ( | InputArray | src, |
InputArray | lut, | ||
OutputArray | dst | ||
) |
LUT :配列のルックアップテーブル変換を行います。
関数 LUT は,ルックアップテーブルの値で出力配列を埋めます。エントリのインデックスは,入力配列から取得します。つまり,この関数は src の各要素を以下のように処理します.
ここで
src | 8 ビット要素の入力配列. |
lut | 256 個の要素を持つルックアップテーブル.マルチチャンネルの入力配列の場合,テーブルはシングルチャンネル(この場合,すべてのチャンネルに同じテーブルが用いられます)か,入力配列と同じ数のチャンネルを持つ必要があります. |
dst | src と同じサイズ,同じチャンネル数,そして lut と同じビット深度を持つ出力配列. |
CV_EXPORTS_W void cv::magnitude | ( | InputArray | x, |
InputArray | y, | ||
OutputArray | magnitude | ||
) |
2次元ベクトルの大きさを計算します.
この関数はcv::magnitudex, y 配列の対応する要素から形成される 2 次元ベクトルの大きさを計算します.
x | ベクトルのx座標の浮動小数点型配列. |
y | ベクトルの y 座標を表す,浮動小数点型の配列(x と同じサイズでなければいけません). |
magnitude | x と同じサイズ,同じ型の出力配列. |
CV_EXPORTS_W double cv::Mahalanobis | ( | InputArray | v1, |
InputArray | v2, | ||
InputArray | icovar | ||
) |
2 つのベクトル間のマハラノビス距離を計算します.
この関数はcv::Mahalanobisは,2 つのベクトル間の加重距離を計算して返します.
共分散行列の計算にはcalcCovarMatrix関数を使って共分散行列を計算し,invert 関数を使って反転させることができます(最も正確にはDECOMP_SVDメソッドを使用するのが最も正確です).
v1 | 第1の1次元入力ベクトル |
v2 | 2番目の1次元入力ベクトル |
icovar | 逆共分散行列。 |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。 const _Tp& std::min(const _Tp&, const _Tp&, _Compare)との衝突を避けるために必要です。
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。 const _Tp& std::min(const _Tp&, const _Tp&, _Compare)との衝突を避けるために必要です。
CV_EXPORTS_W void cv::max | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst | ||
) |
CV_EXPORTS_W Scalar cv::mean | ( | InputArray | src, |
InputArray |
mask
=
noArray() |
||
) |
配列の要素の平均(mean)を求めます.
関数 cv::mean は,各チャンネル毎に配列要素の平均値 M を計算し,それを返します.
すべてのマスク要素が 0 の場合,この関数は Scalar::all(0) を返します.
src | 入力配列は,1から4までのチャンネルを持ち,その結果を次のように格納します.Scalar_. |
mask | 任意の演算マスク. |
CV_EXPORTS_W void cv::meanStdDev | ( | InputArray | src, |
OutputArray | mean, | ||
OutputArray | stddev, | ||
InputArray |
mask
=
noArray() |
||
) |
配列要素の平均値と標準偏差を計算します.
この関数はcv::meanStdDevScalar::all(0) は,各チャンネルごとに配列要素の平均値と標準偏差 M を計算し,それを出力パラメータで返します.
すべてのマスク要素が「0」の場合,mean=stddev=Scalar::all(0)が返されます.
src | 入力配列には,1 から 4 までのチャンネルが必要です.これにより,結果をScalar_'s. |
mean | 出力パラメータ:計算された平均値. |
stddev | 出力パラメータ:計算された標準偏差. |
mask | 任意の演算マスク. |
CV_EXPORTS void cv::merge | ( | const Mat * | mv, |
size_t | count, | ||
OutputArray | dst | ||
) |
複数のシングルチャンネル配列から,1つのマルチチャンネル配列を作成します.
この関数はcv::mergeは,複数の配列をマージして1つのマルチチャンネル配列を作ります.つまり,出力配列の各要素は,入力配列の要素を結合したものになります.ここで i 番目の入力配列の要素は,mv[i].channels()要素のベクトルとして扱われます.
この関数はcv::splitは,その逆の操作を行います.もし,他の高度な方法でチャンネルをシャッフルする必要があるならば,次のようにします.cv::mixChannels.
次の例では,3つのシングルチャンネル行列を1つの3チャンネル行列に結合する方法を示します.
mv | マージされる行列の入力配列.mv に含まれるすべての行列は,同じサイズ,同じビット深度でなければいけません. |
count | mv がプレーンな C 言語の配列の場合は,入力行列の数;0 以上でなければいけません. |
dst | mv[0]と同じサイズ,同じビット深度の出力配列;チャンネル数は,パラメータ count と等しくなります. |
CV_EXPORTS_W void cv::merge | ( | InputArrayOfArrays | mv, |
OutputArray | dst | ||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
mv | 結合される行列の入力ベクトル.mv のすべての行列は,同じサイズ,同じビット深度でなければいけません. |
dst | mv[0] と同じサイズ,同じビット深度の出力配列.チャンネル数は,行列配列のチャンネル数の合計になります. |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。 const _Tp& std::min(const _Tp&, const _Tp&, _Compare)との衝突を避けるために必要です。
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。 const _Tp& std::min(const _Tp&, const _Tp&, _Compare)との衝突を避けるために必要です。
CV_EXPORTS_W void cv::min | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst | ||
) |
CV_EXPORTS void cv::minMaxIdx | ( | InputArray | src, |
double * | minVal, | ||
double * |
maxVal
=
0 ,
|
||
int * |
minIdx
=
0 ,
|
||
int * |
maxIdx
=
0 ,
|
||
InputArray |
mask
=
noArray() |
||
) |
配列のグローバルな最小値と最大値を求める
この関数はcv::minMaxIdx配列の要素の最小値と最大値,およびそれらの位置を求めます.極値は,配列全体,あるいは mask が空の配列でない場合は,指定された配列領域内で探索されます.この関数は,マルチチャンネル配列では動作しません.すべてのチャンネルで最小値や最大値を見つける必要がある場合は,まずMat::reshapeを利用して,配列をシングルチャンネルとして解釈し直します.あるいは, extractImageCOI や mixChannels , split などを用いて,特定のチャンネルを抽出します.疎な行列の場合,0 ではない要素のみから最小値が求められます.
src | 入力シングルチャンネル配列. |
minVal | 返される最小値へのポインタ; 必要なければ NULL が使われます. |
maxVal | 返される最大値へのポインタ; 必要ない場合は NULL が使われます. |
minIdx | 返される最小値の位置へのポインタ(nDの場合).必要なければ,NULLが用いられます.それ以外の場合は, src.dims 要素の配列を指し,各次元の最小要素の座標が順次格納されます. |
maxIdx | 返される最大値の位置へのポインタ( nD の場合 ).必要ない場合は,NULLが用いられます. |
mask | 指定された配列領域 |
CV_EXPORTS void cv::minMaxLoc | ( | const SparseMat & | a, |
double * | minVal, | ||
double * | maxVal, | ||
int * |
minIdx
=
0 ,
|
||
int * |
maxIdx
=
0 |
||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
a | 入力シングルチャンネル配列. |
minVal | 返される最小値へのポインタ; 必要なければ NULL が使われます. |
maxVal | 返される最大値へのポインタ; 必要ない場合は NULL が使われます. |
minIdx | 返される最小値の位置へのポインタ(nDの場合).必要なければ,NULLが用いられます.それ以外の場合は, src.dims 要素の配列を指し,各次元の最小要素の座標が順次格納されます. |
maxIdx | 返される最大値の位置へのポインタ( nD の場合 ).必要ない場合は,NULLが用いられます. |
CV_EXPORTS_W void cv::minMaxLoc | ( | InputArray | src, |
CV_OUT double * | minVal, | ||
CV_OUT double * |
maxVal
=
0 ,
|
||
CV_OUT Point * |
minLoc
=
0 ,
|
||
CV_OUT Point * |
maxLoc
=
0 ,
|
||
InputArray |
mask
=
noArray() |
||
) |
配列のグローバルな最小値と最大値を求めます.
この関数はcv::minMaxLocは,要素の最小値と最大値,およびそれらの位置を求めます.極値は,配列全体,あるいは mask が空の配列でない場合は,指定された配列領域内で探索されます.
この関数は,マルチチャンネル配列では動作しません.すべてのチャンネルで最小または最大の要素を見つける必要がある場合は,まずMat::reshapeを利用して,配列をシングルチャンネルとして再解釈します.あるいは, extractImageCOI や mixChannels ,split などを用いて,特定のチャンネルだけを取り出すこともできます.
src | 入力シングルチャンネル配列. |
minVal | 返される最小値へのポインタ; 必要なければ NULL が使われます. |
maxVal | 返される最大値へのポインタ; 必要ない場合は NULL が使われます. |
minLoc | 2D の場合は,最小値を示すポインタ. |
maxLoc | 最大値を示す位置へのポインタ(2D の場合); 必要なければ NULL を使用してください. |
mask | 部分配列を選択するためのオプションのマスク. |
CV_EXPORTS void cv::mixChannels | ( | const Mat * | src, |
size_t | nsrcs, | ||
Mat * | dst, | ||
size_t | ndsts, | ||
const int * | fromTo, | ||
size_t | npairs | ||
) |
入力配列の指定されたチャンネルを,出力配列の指定されたチャンネルにコピーします.
この関数はcv::mixChannelsは,画像チャンネルをシャッフルするための高度な機構を提供します.
cv::split,cv::merge,cv::extractChannel,cv::insertChannelや,いくつかの形式のcv::cvtColorの部分的なケースです.cv::mixChannels.
以下の例では,4 チャンネルの BGRA 画像を,3 チャンネルの BGR(B と R のチャンネルを入れ替えたもの)と別のアルファチャンネル画像に分割しています.
src | すべての行列は,同じサイズ,同じビット深度でなければいけません. |
nsrcs | の行列の数.src . |
dst | 出力配列,または行列のベクトル.を割り当てる必要があります.サイズと深さが同じでなければなりません.src[0] . |
ndsts | の行列の数.dst . |
fromTo | どのチャンネルをどこにコピーするかを指定する,インデックスペアの配列. fromTo[k*2]は,src の入力チャンネルを示す0基準のインデックス, fromTo[k*2+1]は,dst の出力チャンネルを示すインデックスです.連続したチャンネル番号が用いられます: 1 番目の入力画像チャンネルは,0 から src[0] までのインデックスで表されます. channels()-1 で表されます.また,2番目の入力画像チャンネルは, src[0].channels() から src[0].channels() + src[1].channels()-1 までのインデックスで表されます. |
npairs | のインデックスペアの数fromTo . |
CV_EXPORTS void cv::mixChannels | ( | InputArrayOfArrays | src, |
InputOutputArrayOfArrays | dst, | ||
const int * | fromTo, | ||
size_t | npairs | ||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
src | すべての行列は,同じサイズ,同じビット深度でなければいけません. |
dst | 出力配列,または行列のベクトル.を割り当てる必要があります.これらのインデックスペアのサイズとビット深度は, src[0] と同じでなければいけません. |
fromTo | どのチャンネルをどこにコピーするかを指定する,インデックスペアの配列. fromTo[k*2]は,src の入力チャンネルを示す0基準のインデックス, fromTo[k*2+1]は,dst の出力チャンネルを示すインデックスです.連続したチャンネル番号が用いられます: 1 番目の入力画像チャンネルは,0 から src[0] までのインデックスで表されます. channels()-1 で表されます.また,2番目の入力画像チャンネルは, src[0].channels() から src[0].channels() + src[1].channels()-1 までのインデックスで表されます. |
npairs | fromTo のインデックスペアの数. |
CV_EXPORTS_W void cv::mixChannels | ( | InputArrayOfArrays | src, |
InputOutputArrayOfArrays | dst, | ||
const std::vector< int > & | fromTo | ||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
src | すべての行列は,同じサイズ,同じビット深度でなければいけません. |
dst | 出力配列,または行列のベクトル.を割り当てる必要があります.これらのインデックスペアのサイズとビット深度は, src[0] と同じでなければいけません. |
fromTo | どのチャンネルをどこにコピーするかを指定する,インデックスペアの配列. fromTo[k*2]は,src の入力チャンネルを示す0基準のインデックス, fromTo[k*2+1]は,dst の出力チャンネルを示すインデックスです.連続したチャンネル番号が用いられます: 1 番目の入力画像チャンネルは,0 から src[0] までのインデックスで表されます. channels()-1 で表されます.また,2番目の入力画像チャンネルは, src[0].channels() から src[0].channels() + src[1].channels()-1 までのインデックスで表されます. |
CV_EXPORTS_W void cv::mulSpectrums | ( | InputArray | a, |
InputArray | b, | ||
OutputArray | c, | ||
int | flags, | ||
bool |
conjB
=
false |
||
) |
2つのフーリエ・スペクトルの要素毎の乗算を行います.
この関数はcv::mulSpectrumsこの関数は,実数または複素数のフーリエ変換の結果である,CCSパックされた2つの行列または複素数の行列の要素毎の乗算を行います.
この関数は, dft や idft と共に,2つの配列の畳み込み(pass conjB=false)や相関(pass conjB=true)を高速に計算するために利用されます.配列が複素数の場合,単純に(要素毎に)2番目の配列要素の共役を掛け合わせます.配列が実数の場合は,CCSパックされていると仮定されます(詳細は dft を参照してください).
a | 1番目の入力配列. |
b | src1 と同じサイズ,同じ型の 2 番目の入力配列. |
c | src1 と同じサイズ,同じ型の出力配列. |
flags | 操作フラグ.現在,唯一サポートされているフラグはcv::DFT_ROWSこれは, src1 と src2 の各行が独立した1次元フーリエ変換であることを表します.もしこのフラグを使いたくない場合は,単に0 を値として追加してください。 |
conjB | 2番目の入力配列を,乗算の前に共役にするか(true),しないか(false)を指定するオプションフラグ. |
CV_EXPORTS_W void cv::multiply | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst, | ||
double |
scale
=
1 ,
|
||
int |
dtype
=
-1 |
||
) |
2つの配列の要素毎のスケーリングされた積を求めます.
関数 multiply は,2つの配列の要素毎の積を求めます.
また,この関数のMatrixExpressions-があります.参照Mat::mul.
要素毎ではない行列積については, gemm を参照してください.
src1 | 1番目の入力配列. |
src2 | src1 と同じサイズ,同じ型の 2 番目の入力配列. |
dst | src1 と同じサイズ,同じ型の出力配列. |
scale | オプションのスケールファクタ. |
dtype | オプションで,出力配列の深さを指定します. |
CV_EXPORTS_W void cv::mulTransposed | ( | InputArray | src, |
OutputArray | dst, | ||
bool | aTa, | ||
InputArray |
delta
=
noArray() ,
|
||
double |
scale
=
1 ,
|
||
int |
dtype
=
-1 |
||
) |
行列とその転置行列の積を計算します.
この関数はcv::mulTransposedsrc とその転置行列の積を求めます.
aTa=true の場合と
それ以外の場合は この関数は,共分散行列の計算に利用されます.デルタが 0 の場合は,B=A' の時に一般的な行列積 A*B の高速な代替手段として利用できます.
src | 入力シングルチャンネル行列.gemm とは異なり,この関数は浮動小数点数の行列だけでなく,積むこともできることに注意してください. |
dst | 出力正方行列. |
aTa | 乗算の順序を指定するフラグ.以下の説明を参照してください. |
delta | オプションで,乗算の前に src から差し引かれる delta 行列.この行列が空の場合( delta=noArray() ),ゼロであると見なされ,何も引かれません.また, src と同じサイズの場合は,単に減算されます.そうでない場合は,src 全体を覆うように「繰り返され」( repeat を参照してください),その後に減算されます.デルタ行列が空ではない場合,そのタイプは,作成される出力行列のタイプと同じでなければいけません.以下の dtype パラメータの説明を参照してください. |
scale | オプションである,行列の積に対するスケールファクタ. |
dtype | オプションで,出力行列のタイプを指定します.これが負の値の場合,出力行列は src と同じ型になります.それ以外の場合は, type=CV_MAT_DEPTH(dtype) となり, CV_32F または CV_64F のどちらかになります. |
CV_EXPORTS double cv::norm | ( | const SparseMat & | src, |
int | normType | ||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
src | 1番目の入力配列. |
normType | ノルムの型(以下を参照してくださいNormTypes). |
CV_EXPORTS_W double cv::norm | ( | InputArray | src1, |
InputArray | src2, | ||
int |
normType
=
NORM_L2
,
|
||
InputArray |
mask
=
noArray() |
||
) |
CV_EXPORTS_W double cv::norm | ( | InputArray | src1, |
int |
normType
=
NORM_L2
,
|
||
InputArray |
mask
=
noArray() |
||
) |
配列の絶対値ノルムを計算します.
このバージョンのnormは, src1 の絶対値ノルムを計算します.計算するノルムの種類は,次のように指定しますNormTypes.
例として,1つの配列に対して,関数. という関数を考えます。
および
のノルムは,サンプル値
のノルムは次のように計算されます.
と計算結果は
次の図は,3つのノルム関数のすべての値を示しています.および
. 注目すべきは,ノルムが
ノルムが上側を、そして
関数の例では,ノルムが上側,ノルムが下側の境界を形成していることが注目されます.
.
maskパラメータが指定され,それが空でない場合,ノルムは
normTypeが指定されていない場合はNORM_L2は,マスクで指定された領域に対してのみ計算されます.
マルチチャンネルの入力配列は,シングルチャンネルの配列として扱われ,すべてのチャンネルの結果が結合されます.
Hammingnorms は, CV_8U 深度分析配列でのみ計算されます.
src1 | 1番目の入力配列. |
normType | ノルムの型(以下を参照してくださいNormTypes). |
mask | オプションの処理マスクで指定されます.これは, src1 と同じサイズで CV_8UC1 型でなければいけません. |
CV_EXPORTS void cv::normalize | ( | const SparseMat & | src, |
SparseMat & | dst, | ||
double | alpha, | ||
int | normType | ||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
src | 入力配列. |
dst | src と同じサイズの出力配列. |
alpha | 正規化するためのノルム値,あるいは,範囲正規化を行う場合は範囲の下限値. |
normType | 正規化の種類( 関連項目cv::NormTypes). |
CV_EXPORTS_W void cv::normalize | ( | InputArray | src, |
InputOutputArray | dst, | ||
double |
alpha
=
1 ,
|
||
double |
beta
=
0 ,
|
||
int |
norm_type
=
NORM_L2
,
|
||
int |
dtype
=
-1 ,
|
||
InputArray |
mask
=
noArray() |
||
) |
配列のノルムや値の範囲を正規化します.
この関数はcv::normalizenormalize は,入力配列要素を以下のようにスケーリング,シフトします
(normType=NORM_INF, NORM_L1, NORM_L2 の場合は,それぞれ以下のようになります(ここで,p=Inf, 1 または 2)。
normType=NORM_MINMAXの場合(密な配列の場合のみ)。オプションのマスクは,正規化されるサブアレイを指定します。これは,副配列に対してノルムやmin-n-maxが計算され,その後,この副配列が正規化されるように修正されることを意味します。ノルムやミニマムを計算するためにマスクを使用するだけで,配列全体を修正したい場合は,normとMat::convertTo.
疎な行列の場合,0ではない値のみが分析され,変換されます.このため,疎な行列に対する範囲変換は,ゼロレベルをずらすことができるので,許されません。
いくつかの肯定的な例のデータで使用可能です。
src | 入力配列. |
dst | src と同じサイズの出力配列. |
alpha | 正規化するためのノルム値,あるいは,範囲正規化を行う場合は範囲の下限値. |
beta | 範囲正規化の場合は,範囲の上側の境界であり,ノルム正規化には使用されない. |
norm_type | 正規化の種類( 関連項目cv::NormTypes). |
dtype | 負の値の場合,出力配列は src と同じ型になります.そうでない場合は, src と同じチャンネル数を持ち,ビット深度は =CV_MAT_DEPTH(dtype) となります. |
mask | 任意の演算マスク. |
CV_EXPORTS_W void cv::patchNaNs | ( | InputOutputArray | a, |
double |
val
=
0 |
||
) |
NaN を指定された数に変換します.
a | 入出力行列(CV_32F型). |
val | NaNsを変換する値 |
CV_EXPORTS_W void cv::PCABackProject | ( | InputArray | data, |
InputArray | mean, | ||
InputArray | eigenvectors, | ||
OutputArray | result | ||
) |
CV_EXPORTS_W void cv::PCACompute | ( | InputArray | data, |
InputOutputArray | mean, | ||
OutputArray | eigenvectors, | ||
double | retainedVariance | ||
) |
ラップ PCA::operator()
CV_EXPORTS_W void cv::PCACompute | ( | InputArray | data, |
InputOutputArray | mean, | ||
OutputArray | eigenvectors, | ||
int |
maxComponents
=
0 |
||
) |
ラップ PCA::operator()
CV_EXPORTS_W void cv::PCAProject | ( | InputArray | data, |
InputArray | mean, | ||
InputArray | eigenvectors, | ||
OutputArray | result | ||
) |
ラップPCA::project
CV_EXPORTS_W void cv::perspectiveTransform | ( | InputArray | src, |
OutputArray | dst, | ||
InputArray | m | ||
) |
ベクトルの透視行列変換を行います.
この関数はcv::perspectiveTransformは, src の各要素を 2 次元または 3 次元のベクトルとして扱い,以下のように変換します.
ここで
および
ここでは,3D ベクトル変換の例を示します.2D ベクトル変換の場合,z 成分は省略されます.
src | 入力 2チャンネルまたは3チャンネルの浮動小数点型配列.各要素は,変換される2次元/3次元ベクトル. |
dst | src と同じサイズ・タイプの配列を出力します。 |
m | 3x3 または 4x4 の浮動小数点型変換行列. |
CV_EXPORTS_W void cv::phase | ( | InputArray | x, |
InputArray | y, | ||
OutputArray | angle, | ||
bool |
angleInDegrees
=
false |
||
) |
2次元ベクトルの回転角度を計算します.
この関数はcv::phasexとyの対応する要素から形成される各2Dベクトルの回転角度を計算します。
角度の推定精度は約0.3度です。なお,x(I)=y(I)=0のとき,対応する角度(I)は0になります。
x | 入力 2次元ベクトルのx座標の浮動小数点配列. |
y | 2次元ベクトルのy座標の入力配列.これは,xと同じサイズ,同じ型でなければいけません. |
angle | x と同じサイズ,同じ型の,ベクトルの角度を表す出力配列. |
angleInDegrees | この関数が真の場合,角度は度単位で計算され,そうでない場合はラジアン単位で計算されます. |
CV_EXPORTS_W void cv::polarToCart | ( | InputArray | magnitude, |
InputArray | angle, | ||
OutputArray | x, | ||
OutputArray | y, | ||
bool |
angleInDegrees
=
false |
||
) |
2次元ベクトルの大きさと角度から,そのx座標とy座標を求めます.
この関数はcv::polarToCartは,大きさと角度の対応する要素で表される各2次元ベクトルのデカルト座標を計算します.
推定された座標の相対的な精度は,約 1e-6 です.
magnitude | 入力 2 次元ベクトルの大きさを表す,浮動小数点型の配列.これは,空の行列(=Mat())でもよく,その場合,この関数はすべての大きさが =1 であると仮定します. |
angle | 入力 2次元ベクトルの角度を表す,浮動小数点型の配列. |
x | angleと同じサイズ,同じ型の2次元ベクトルのx座標を表す出力配列. |
y | 2D ベクトルの y 座標の出力配列; angle と同じサイズ,同じ型です. |
angleInDegrees | trueの場合,入力された角度は度単位で表され,そうでない場合はラジアン単位で表されます. |
CV_EXPORTS_W void cv::pow | ( | InputArray | src, |
double | power, | ||
OutputArray | dst | ||
) |
配列の各要素をべき乗します.
この関数はcv::powは,入力配列の各要素をべき乗します.
つまり,非整数のべき乗の指数に対しては,入力配列の要素の絶対値が使われます.ただし,いくつかの追加演算を行うことで,負の値に対する真の値を得ることができます.以下の例では,配列 src の 5 次根を計算しています.
0.5 や -0.5 といった整数値のような一部の累乗値に対しては,専用の高速アルゴリズムが用いられます.
特殊な値(NaN, Inf)は扱われません。
src | 入力配列. |
power | パワーの指数 |
dst | src と同じサイズ・タイプの配列を出力します。 |
CV_EXPORTS_W double cv::PSNR | ( | InputArray | src1, |
InputArray | src2, | ||
double |
R
=
255. |
||
) |
画質指標であるPSNR(Peak Signal-to-Noise Ratio)を計算します。
この関数は,2つの入力配列 src1 と src2 の間の,デシベル(dB)単位で表されるピーク信号対雑音比(PSNR)を求めます.これらの配列は,同じ型でなければいけません.
PSNR は,以下のように計算されます.
ここで R は,深度の最大の整数値(例えば, CV_8U データの場合は 255 ),MSE は 2 つの配列間の平均2乗誤差です.
src1 | 1番目の入力配列. |
src2 | src1 と同じサイズの 2 番目の入力配列. |
R | 最大のピクセル値(デフォルトでは 255). |
CV_EXPORTS_W void cv::randn | ( | InputOutputArray | dst, |
InputArray | mean, | ||
InputArray | stddev | ||
) |
CV_EXPORTS_W void cv::randShuffle | ( | InputOutputArray | dst, |
double |
iterFactor
=
1. ,
|
||
RNG * |
rng
=
0 |
||
) |
配列の要素をランダムにシャッフルします.
この関数はcv::randShuffleは,指定された1次元配列の要素を無作為に選んで入れ替えるシャッフルを行います.このようなスワップ操作の回数は, dst.rows*dst.cols*iterFactor となります.
dst | 入力/出力 数値の1次元配列. |
iterFactor | ランダムな入れ替え操作の回数を決定するスケールファクター(詳細は後述)。 |
rng | シャッフルに使用される任意の乱数生成器.これが0の場合,代わりにRNG()が使用されます. |
CV_EXPORTS_W void cv::randu | ( | InputOutputArray | dst, |
InputArray | low, | ||
InputArray | high | ||
) |
CV_EXPORTS_W void cv::reduce | ( | InputArray | src, |
OutputArray | dst, | ||
int | dim, | ||
int | rtype, | ||
int |
dtype
=
-1 |
||
) |
行列をベクトルに変換します。
この関数はreduceは,行列の行/列を 1 次元ベクトルの集合として扱い,単一の行/列が得られるまで,そのベクトルに対して指定された処理を行うことで,行列をベクトルに変換します.例えば,この関数は,ラスター画像の水平・垂直方向の投影図を求めるために利用できます.の場合はREDUCE_MAXおよびREDUCE_MINの場合,出力画像は入力画像と同じ型でなければいけません.の場合はREDUCE_SUMおよびREDUCE_AVGの場合は,精度を保つために,出力の要素ビット深度を大きくすることができます.また,この2つのリダクションモードでは,マルチチャンネル配列もサポートされています.
以下のコードは,シングルチャンネルの行列に対する使用例です.
また,次のコードは,2チャンネルの行列に対する使用例です.
src | 入力 2D 行列. |
dst | 出力ベクトル.そのサイズとタイプは,パラメータ dim と dtype で定義されます. |
dim | 行列が縮小される次元のインデックス.0 は,行列が 1 行に縮小されることを意味します.1 は,行列が 1 列に縮小されることを意味します. |
rtype | 以下のいずれかの縮小操作.ReduceTypes |
dtype | 負の値の場合,出力ベクトルは入力行列と同じ型になり,そうでない場合は CV_MAKE_TYPE(CV_MAT_DEPTH(dtype), src.channels()) になります. |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
src | 複製される入力配列. |
ny | が縦軸に沿って何回繰り返されるかを指定するフラグ.src は,垂直軸に沿って繰り返されます. |
nx | が縦軸に沿って何回繰り返されるかを指定するフラグ.src は,横軸に沿って繰り返されます. |
CV_EXPORTS_W void cv::repeat | ( | InputArray | src, |
int | ny, | ||
int | nx, | ||
OutputArray | dst | ||
) |
出力配列を,入力配列の繰り返しコピーで埋めます.
この関数はcv::repeatは,入力配列を2つの軸それぞれに沿って1回または複数回複製します.
この関数の 2 番目のバリエーションは,次のような場合に便利です.MatrixExpressions.
src | 複製される入力配列. |
ny | が縦軸に沿って何回繰り返されるかを指定するフラグ.src は,垂直軸に沿って繰り返されます. |
nx | が縦軸に沿って何回繰り返されるかを指定するフラグ.src は,横軸に沿って繰り返されます. |
dst | と同じ型の出力配列を使用する場合に便利です.src . |
CV_EXPORTS_W void cv::rotate | ( | InputArray | src, |
OutputArray | dst, | ||
int | rotateCode | ||
) |
2 次元配列を 90 度の倍数で回転させます。この関数はcv::rotateは,3つの異なる方法のうちの1つで配列を回転させます.時計回りに90度回転させる(rotateCode = ROTATE_90_CLOCKWISE)。時計回りに180度回転させる(rotateCode = ROTATE_180)。時計回りに270度回転します(rotateCode = ROTATE_90_COUNTERCLOCKWISE)。
src | 入力配列. |
dst | srcと同じ型の配列を出力します。サイズはROTATE_180と同じで、ROTATE_90_CLOCKWISEとROTATE_90_COUNTERCLOCKWISEでは、行と列が入れ替わります。 |
rotateCode | 配列の回転方法を指定するための列挙型です。RotateFlags |
CV_EXPORTS_W void cv::scaleAdd | ( | InputArray | src1, |
double | alpha, | ||
InputArray | src2, | ||
OutputArray | dst | ||
) |
スケーリングされた配列と別の配列の和を求めます。
関数 scaleAdd は,古典的な原始的線形代数演算の1つで,BLASでは DAXPY または SAXPY として知られています。BLAS. この関数は,スケーリングされた配列と別の配列の和を求めます.
この関数は,行列式を用いてエミュレートすることもできます.
src1 | 1番目の入力配列. |
alpha | 1 番目の配列のスケール係数. |
src2 | src1 と同じサイズ,同じ型の 2 番目の入力配列. |
dst | src1 と同じサイズ,同じ型の出力配列. |
CV_EXPORTS_W void cv::setIdentity | ( | InputOutputArray | mtx, |
const Scalar & |
s
=
Scalar(1) |
||
) |
スケーリングされた単位行列を初期化します.
この関数はcv::setIdentityスケーリングされた単位行列を初期化します.
この関数は,行列の初期化子や行列式を用いてエミュレートすることもできます.
mtx | 初期化される行列(正方でなくても構いません). |
s | 対角線の要素に割り当てる値. |
CV_EXPORTS_W void cv::setRNGSeed | ( | int | seed | ) |
CV_EXPORTS_W bool cv::solve | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst, | ||
int |
flags
=
DECOMP_LU
|
||
) |
1 つ以上の連立方程式または最小二乗問題を解きます。
この関数はcv::solveは,連立一次方程式または最小二乗問題を解きます(最小二乗問題を解くにはSVDやQRメソッド、またはフラグDECOMP_NORMAL):
もしDECOMP_LUまたはDECOMP_CHOLESKYメソッドが用いられた場合, src1 (または) が非特異点であれば 1 を返します.後者の場合,dst は有効ではありません.その他のメソッドは,左辺が特異な場合に擬似解を求めるものです.
src1 | 系の左辺の入力行列. |
src2 | 系の右辺に入力行列を配置します。 |
dst | 出力解。 |
flags | 解(行列反転)法 (DecompTypes) |
CV_EXPORTS_W int cv::solveCubic | ( | InputArray | coeffs, |
OutputArray | roots | ||
) |
三次方程式の実根を求めます.
関数 solveCubic は,3 次方程式の実根を求めます.
根は,配列 roots に格納されます.
coeffs | equation coefficients は,3 個または 4 個の要素からなる配列です. |
roots | 1個または3個の要素を持つ実根の出力配列。 |
CV_EXPORTS_W double cv::solvePoly | ( | InputArray | coeffs, |
OutputArray | roots, | ||
int |
maxIters
=
300 |
||
) |
多項式方程式の実根または複素根を求めます。
この関数はcv::solvePolyは,多項式の実根および複素根を求めます.
coeffs | 多項式の係数の配列を出力します。 |
roots | 根の出力(複素数)配列. |
maxIters | アルゴリズムが行う反復の最大数. |
CV_EXPORTS_W void cv::sort | ( | InputArray | src, |
OutputArray | dst, | ||
int | flags | ||
) |
CV_EXPORTS_W void cv::sortIdx | ( | InputArray | src, |
OutputArray | dst, | ||
int | flags | ||
) |
行列の各行または各列をソートします.
この関数はcv::sortIdxは,行列の各行または各列を昇順または降順にソートします.したがって,望ましい動作を得るためには,2つの操作フラグを渡す必要があります.この関数は,要素自体を並べ替えるのではなく,並べ替えられた要素のインデックスを出力配列に格納します.例えば、以下のようになります。
src | 入力シングルチャンネル配列. |
dst | src と同じサイズの整数配列を出力します. |
flags | 以下のような動作フラグを組み合わせることができますcv::SortFlags |
マルチチャンネル配列を,複数のシングルチャンネル配列に分割します.
この関数はcv::splitマルチチャンネル配列を,複数のシングルチャンネル配列に分割します.
1 つのチャンネルを取り出したり,その他の高度なチャンネル順列処理を行う必要がある場合は, mixChannels を利用してください.
以下の例では,3 チャンネルの行列を 3 つのシングルチャンネルの行列に分割する方法を示します.
src | 入力 マルチチャンネル配列. |
mvbegin | 出力配列.配列の個数は src.channels() と一致しなければいけません.必要ならば,配列自体が再割り当てされます. |
CV_EXPORTS_W void cv::split | ( | InputArray | m, |
OutputArrayOfArrays | mv | ||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
m | 入力 マルチチャンネル配列. |
mv | 出力 配列のベクトル.必要ならば,配列自体が再割り当てされます. |
CV_EXPORTS_W void cv::sqrt | ( | InputArray | src, |
OutputArray | dst | ||
) |
配列の要素の平方根を求めます.
この関数はcv::sqrt入力配列の各要素の平方根を求めます.マルチチャンネル配列の場合,各チャンネルは独立して処理されます.その精度は,組み込みの std::sqrt とほぼ同じです.
src | 入力浮動小数点配列. |
dst | src と同じサイズ・タイプの配列を出力します。 |
CV_EXPORTS_W void cv::subtract | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst, | ||
InputArray |
mask
=
noArray() ,
|
||
int |
dtype
=
-1 |
||
) |
2つの配列同士,あるいは配列とスカラの 要素毎の差を求めます.
関数 subtract は,次のように計算します.
src1.channels()
:
src2.channels()
:
SubRS
:
上述のリストの最初の関数は,行列式で置き換えることができます.
入力配列と出力配列の深さは,すべて同じでも異なっていても構いません.例えば,8 ビットの符号なし配列への減算を行い,その差を 16 ビットの符号付き配列に格納することができます.出力配列の深さは,dtypeパラメータで決まります.上記の 2 番目と 3 番目のケース,そして 1 番目のケースと同様に, src1.depth() == src2.depth() の場合, dtype をデフォルトの -1 に設定することができます. この場合,出力配列の深さは, src1,src2,またはその両方の入力配列と同じになります.
src1 | 1 番目の入力配列またはスカラ. |
src2 | 2番目の入力配列,あるいはスカラ. |
dst | 出力配列は,入力配列と同じサイズ,同じチャンネル数になります. |
mask | オプションの処理マスク.これは 8 ビットのシングルチャンネル配列で,変更される出力配列の要素を指定します. |
dtype | オプションで,出力配列の深さを指定します. |
CV_EXPORTS_W void cv::SVBackSubst | ( | InputArray | w, |
InputArray | u, | ||
InputArray | vt, | ||
InputArray | rhs, | ||
OutputArray | dst | ||
) |
CV_EXPORTS_W void cv::SVDecomp | ( | InputArray | src, |
OutputArray | w, | ||
OutputArray | u, | ||
OutputArray | vt, | ||
int |
flags
=
0 |
||
) |
ラップSVD::compute
CV_EXPORTS RNG & cv::theRNG | ( | ) |
デフォルトの乱数生成器を返します。
この関数はcv::theRNGは,デフォルトの乱数生成器を返します.各スレッドごとに独立した乱数生成器が用意されているので,この関数をマルチスレッド環境で安全に使用することができます.このジェネレータを使って1つの乱数を取得したり、配列を初期化したりするだけなら、代わりに randu や randn を使うことができます。しかし,ループ内で多数の乱数を生成する場合は,この関数を使ってジェネレータを取得し,その後 RNG::operator _Tp() を使った方がはるかに高速です.
CV_EXPORTS_W Scalar cv::trace | ( | InputArray | mtx | ) |
CV_EXPORTS_W void cv::transform | ( | InputArray | src, |
OutputArray | dst, | ||
InputArray | m | ||
) |
配列の各要素に対して,行列変換を行います.
この関数はcv::transform配列 src の各要素に対して行列変換を行い,その結果を dst に格納します.
(m.cols=src.channels() の場合),または
(m.cols=src.channels()+1 の場合)
Nチャンネル配列 src の各要素は,M x N または M x (N+1) の行列 m を用いて変換された N 個の要素を持つベクトルとして解釈され,出力配列 dst の対応する要素となります.
この関数は,N - 次元の点の幾何学的変換,任意の線形色空間変換(例えば,各種の RGB → YUV 変換),画像チャンネルの入れ替えなどに利用できます.
src | m.cols または m.cols-1 と同数のチャンネル(1~4)を持つ入力配列. |
dst | src と同じサイズ,同じビット深度の出力配列.m.rows と同じ数のチャンネルを持ちます. |
m | 変換 2x2 または 2x3 の浮動小数点型行列. |
CV_EXPORTS_W void cv::transpose | ( | InputArray | src, |
OutputArray | dst | ||
) |
行列の転置を行います.
この関数はcv::transposeは,行列 src を転置します.
src | 入力配列. |
dst | src と同じ型の配列を出力します. |
CV_EXPORTS void cv::vconcat | ( | const Mat * | src, |
size_t | nsrc, | ||
OutputArray | dst | ||
) |
与えられた行列に対して,垂直連結処理を行います.
この関数は,(同じ数の)2つ以上の行列を垂直方向に連結します.cv::Mat行列を垂直方向に連結します.
src | すべての行列は,同じ cols 数と同じ depth を持っていなければいけません. |
nsrc | src に含まれる行列の数. |
dst | 出力配列.src と同じ数の cols と depth を持ち, src の行数の合計になります. |
CV_EXPORTS void cv::vconcat | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst | ||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
src1 | 垂直連結の対象となる 1 番目の入力配列. |
src2 | 垂直方向の連結が考慮される 2 番目の入力配列. |
dst | 出力配列.src1 と src2 と同じ数の cols と depth を持ち, src1 と src2 の行数の合計が出力されます. |
CV_EXPORTS_W void cv::vconcat | ( | InputArrayOfArrays | src, |
OutputArray | dst | ||
) |
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
src | 入力配列または行列のベクトル.すべての行列は,同じ数の col と同じ深さを持っていなければいけません. |
dst | 出力配列.src と同じ数の col と同じ深さを持ち, src と src2 の行数の合計が,同じ深さになります. |