OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
FastCVハードウェアアクセラレーテッド関数のモジュールラッパー

詳細説明

クラス

class  cv::fastcv::FCVMSER
 グレースケール画像向けの MSER ブロブ検出器。続きを読む...
 
class  cv::fastcv::QcAllocator
 Qualcomm 独自のアロケータ。このアロケータは Qualcomm のメモリ管理関数を使用する。 続きを読む...
 
class  cv::fastcv::QcResourceManager
 FastCV のアロケーションを管理するリソースマネージャ。このクラスはアクティブなアロケーションを管理する。 続きを読む...
 

関数

void cv::fastcv::arithmetic_op (InputArray src1, InputArray src2, OutputArray dst, int op)
 2つの行列に対する算術加算および減算演算。Qualcomm のプロセッサ向けに最適化されている。
 
void cv::fastcv::bilateralFilter (InputArray _src, OutputArray _dst, int d, float sigmaColor, float sigmaSpace, int borderType=BORDER_DEFAULT)
 各ピクセルの近傍の d ピクセル直径を考慮して、画像にバイラテラルフィルタを適用する。このフィルタはインプレースでは動作しない。
 
void cv::fastcv::bilateralRecursive (cv::InputArray src, cv::OutputArray dst, float sigmaColor=0.03f, float sigmaSpace=0.1f)
 再帰的バイラテラルフィルタリング。
 
void cv::fastcv::buildPyramid (InputArray src, OutputArrayOfArrays pyr, int nLevels, bool scaleBy2=true, int borderType=cv::BORDER_REFLECT, uint8_t borderValue=0)
 1枚の元画像から、あらかじめ設定したレベルに従って順次縮小される float32 の画像ピラミッドを構築する。この API は ORB 方式のスケーリングと半分への縮小の両方をサポートする。
 
void cv::fastcv::calcHist (InputArray _src, OutputArray _hist)
 入力画像のヒストグラムを計算する。この関数は、8u シングルチャンネル画像に対する 256 ビンのヒストグラム計算という特定のユースケースを最適化した形で実装している。
 
void cv::fastcv::dsp::Canny (InputArray _src, OutputArray _dst, int lowThreshold, int highThreshold, int apertureSize=3, bool L2gradient=false)
 8ビットのグレースケール画像に適用されるCannyエッジ検出器。
 
void cv::fastcv::clusterEuclidean (InputArray points, InputArray clusterCenters, OutputArray newClusterCenters, OutputArray clusterSizes, OutputArray clusterBindings, OutputArray clusterSumDists, int numPointsUsed=-1)
 D次元空間内のN個の入力点をK個のクラスタにクラスタリングする。8ビット符号なし整数の点を受け付ける。Qualcomm製プロセッサ上では cv::kmeans より高速に実行できる。
 
void cv::fastcv::DCT (InputArray src, OutputArray dst)
 この関数は入力画像に対して 8x8 の順方向離散コサイン変換を実行する。入力として 8 ビット符号なし整数型を受け取り、16 ビット符号付き整数型の出力を生成する。Qualcomm のプロセッサ上では cv::dct よりも高速に実行できる。
 
void cv::fastcv::FAST10 (InputArray src, InputArray mask, OutputArray coords, OutputArray scores, int barrier, int border, bool nmsEnabled)
 マスクに基づいて画像から FAST10 コーナーとスコアを抽出する。マスクは検出器が無視すべきピクセルを指定する。Qualcomm のプロセッサ上でのコーナー検出向けに設計されており、高速化を実現する。
 
void cv::fastcv::dsp::fcvdspdeinit ()
 FastCV DSP環境を終了処理する。
 
int cv::fastcv::dsp::fcvdspinit ()
 FastCV DSP環境を初期化する。
 
void cv::fastcv::dsp::FFT (InputArray src, OutputArray dst)
 実数値行列の1次元または2次元の高速フーリエ変換 (FFT) を計算する。2次元の場合、入力行列と出力行列の幅と高さは2のべき乗でなければならない。1次元の場合、行列の高さは1でなければならず、幅は2のべき乗でなければならない。
 
void cv::fastcv::FFT (InputArray src, OutputArray dst)
 実数値の行列に対して 1D または 2D の高速フーリエ変換を計算する。2D の場合、入力行列と出力行列の幅と高さは 2 のべき乗でなければならない。1D の場合、行列の高さは 1 でなければならず、幅は 2 のべき乗でなければならない。8 ビット符号なし整数の配列を受け取るのに対し、cv::dft は浮動小数点数または複素数の配列を受け取る。
 
void cv::fastcv::fillConvexPoly (InputOutputArray img, InputArray pts, Scalar color)
 凸多角形を描画する。この関数は凸多角形の内部を指定した色で塗りつぶす。幅とストライドが 8 の倍数である必要がある。
 
void cv::fastcv::dsp::filter2D (InputArray _src, OutputArray _dst, int ddepth, InputArray _kernel)
 分離不可能なカーネルで画像をフィルタリングする。
 
void cv::fastcv::filter2D (InputArray _src, OutputArray _dst, int ddepth, InputArray _kernel)
 非分離カーネルによる NxN 相関。カーネル幅の半分までの境界は無視される。
 
void cv::fastcv::gaussianBlur (InputArray _src, OutputArray _dst, int kernel_size=3, bool blur_border=true)
 sigma = 0、正方形のカーネルサイズによるガウシアン平滑化。境界の扱い方が cv::GaussianBlur とは異なるため、出力にわずかな差異が生じる。
 
void cv::fastcv::gemm (InputArray src1, InputArray src2, OutputArray dst, float alpha=1.0, InputArray src3=noArray(), float beta=0.0)
 2つの float 型行列の行列積 R = a*A*B + b*C を計算する。ここで A,B,C,R は行列、a,b は定数である。Qualcomm のプロセッサ向けに最適化されている。
 
cv::MatAllocatorcv::fastcv::getQcAllocator ()
 デフォルトの Qualcomm アロケータを取得する。この関数は、DSP での使用向けに最適化されたデフォルトの Qualcomm アロケータへのポインタを返す。
 
void cv::fastcv::houghLines (InputArray src, OutputArray lines, double threshold=0.25)
 ハフ直線検出を実行する。
 
void cv::fastcv::IDCT (InputArray src, OutputArray dst)
 この関数は入力画像に対して 8x8 の逆離散コサイン変換を実行する。Qualcomm のプロセッサ上では逆変換の場合に cv::dct よりも高速に実行できる。
 
void cv::fastcv::dsp::IFFT (InputArray src, OutputArray dst)
 複素数値行列の1次元または2次元の逆高速フーリエ変換 (IFFT) を計算する。2次元の場合、入力行列と出力行列の幅と高さは2のべき乗でなければならない。1次元の場合、行列の高さは1でなければならず、幅は2のべき乗でなければならない。
 
void cv::fastcv::IFFT (InputArray src, OutputArray dst)
 複素数値行列の1次元または2次元の逆高速フーリエ変換 (IFFT) を計算する。2次元の場合、入力行列と出力行列の幅と高さは2のべき乗でなければならない。1次元の場合、行列の高さは1でなければならず、幅は2のべき乗でなければならない。
 
void cv::fastcv::integrateYUV (InputArray Y, InputArray CbCr, OutputArray IY, OutputArray ICb, OutputArray ICr)
 YCbCr420 画像の積分。注意: 入力の高さは 2 の倍数である必要がある。入力の幅とストライドは 16 の倍数である必要がある。出力のストライドは 8 の倍数である必要がある。Qualcomm のプロセッサ向けに最適化されている。
 
void cv::fastcv::matmuls8s32 (InputArray src1, InputArray src2, OutputArray dst)
 2つの int8_t 型行列の行列積。符号付き整数の入出力を使用するのに対し、cv::gemm は浮動小数点数の入出力を使用する。matmuls8s32 は Qualcomm のプロセッサ上で高速化を実現する。
 
int cv::fastcv::meanShift (InputArray src, Rect &rect, TermCriteria termCrit)
 ミーンシフト手続きを適用し、最終的に収束した位置を取得する。この関数は元画像(通常は確率画像)にミーンシフト手続きを適用し、最終的に収束した位置を取得する。収束位置の探索は、必要な精度に達するか、最大反復回数に達した時点で停止する。アルゴリズムで使用される Moments は浮動小数点で計算される。この関数は cv::meanShift とビット単位で一致しないが、Snapdragon プロセッサ上でレイテンシを改善する。
 
void cv::fastcv::merge (InputArrayOfArrays mv, OutputArray dst)
 複数のシングルチャンネル CV_8U の mat から1つのマルチチャンネル mat を生成する。Qualcomm のプロセッサ向けに最適化されている。
 
cv::Moments cv::fastcv::moments (InputArray _src, bool binary)
 画像ピクセルの輝度について3次までのすべてのモーメントを計算する。結果は構造体 cv::Moments に返される。この関数 cv::fastcv::moments() はモーメントを浮動小数点演算で計算するのに対し、cv::moments() は double を用いてモーメントを計算する。
 
void cv::fastcv::normalizeLocalBox (InputArray _src, OutputArray _dst, Size pSize, bool useStdDev)
 画像の局所的な減算正規化とコントラスト正規化を計算する。画像の各ピクセルは、そのピクセルを中心とするパッチの平均と標準偏差によって正規化される。Qualcomm のプロセッサ向けに最適化されている。
 
void cv::fastcv::remap (InputArray src, OutputArray dst, InputArray map1, InputArray map2, int interpolation, int borderValue=0)
 グレースケール CV_8UC1 画像に汎用的な幾何変換を適用する。
 
void cv::fastcv::remapRGBA (InputArray src, OutputArray dst, InputArray map1, InputArray map2, int interpolation)
 バイリニア補間または最近傍補間を用いて、4 チャンネル CV_8UC4 画像に汎用的な幾何変換を適用する。
 
void cv::fastcv::resizeDown (cv::InputArray _src, cv::OutputArray _dst, Size dsize, double inv_scale_x, double inv_scale_y)
 指定したスケーリング係数または寸法を用いて画像を縮小する。この関数はシングルチャンネル (CV_8UC1) 画像と2チャンネル (CV_8UC2) 画像の両方をサポートする。
 
void cv::fastcv::sepFilter2D (InputArray _src, OutputArray _dst, int ddepth, InputArray _kernelX, InputArray _kernelY)
 分離カーネルによる NxN 相関。srcImg と dstImg が同じアドレスを指し、srcStride が dstStride と等しい場合、インプレースで実行される。カーネル幅の半分までの境界は無視される。オーバーフローの扱い方が OpenCV とは異なり、この関数は中間結果と最終結果に対して右シフトを行う。
 
void cv::fastcv::sobel (InputArray _src, OutputArray _dx, OutputArray _dy, int kernel_size, int borderType, int borderValue)
 正規化を行わずに、輝度データから2次元の勾配画像を生成する。X 方向の1階微分、Y 方向の1階微分、またはその両方を同時に計算する。
 
void cv::fastcv::sobel3x3u8 (InputArray _src, OutputArray _dst, OutputArray _dsty=noArray(), int ddepth=CV_8U, bool normalization=false)
 正規化を行わずに、輝度データから2次元の勾配画像を生成する。この関数は 3x3 近傍で中心差分を計算し、その結果を Sobel カーネルで畳み込む。カーネル幅の半分までの境界は無視される。
 
void cv::fastcv::sobelPyramid (InputArrayOfArrays pyr, OutputArrayOfArrays dx, OutputArrayOfArrays dy, int outType=CV_8S)
 画像ピラミッドから勾配ピラミッドを生成する。注意: 勾配計算時に境界は無視される。
 
void cv::fastcv::split (InputArray src, OutputArrayOfArrays mv)
 CV_8U のマルチチャンネル mat を複数の CV_8UC1 の mat に分割する。Qualcomm のプロセッサ向けに最適化されている。
 
void cv::fastcv::dsp::sumOfAbsoluteDiffs (cv::InputArray _patch, cv::InputArray _src, cv::OutputArray _dst)
 8x8 テンプレートに対する画像の絶対差分の総和。
 
void cv::fastcv::dsp::thresholdOtsu (InputArray _src, OutputArray _dst, bool type)
 Otsuの手法を用いてグレースケール画像を二値化する。ピクセル値がしきい値より大きい場合はピクセルをmax(255)に設定し、そうでない場合はmin(0)に設定する。しきい値は、クラス内分散(クラス内のばらつき)を最小化するように探索される。
 
void cv::fastcv::thresholdRange (InputArray src, OutputArray dst, int lowThresh, int highThresh, int trueValue, int falseValue)
 一対のしきい値に基づいてグレースケール画像を二値化する。二値化された画像はユーザーが選択した2つの値で表される。この関数は Snapdragon プロセッサ上でレイテンシを改善する。
 
void cv::fastcv::trackOpticalFlowLK (InputArray src, InputArray dst, InputArrayOfArrays srcPyr, InputArrayOfArrays dstPyr, InputArray ptsIn, OutputArray ptsOut, InputArray ptsEst, OutputArray statusVec, cv::Size winSize=cv::Size(7, 7), cv::TermCriteria termCriteria=cv::TermCriteria(cv::TermCriteria::MAX_ITER|cv::TermCriteria::EPS, 7, 0.03f *0.03f))
 Lucas-Kanadeアルゴリズムを用いて疎なオプティカルフローを計算する。8ビット符号なし整数画像を受け付ける。Qualcommのプロセッサでより高速な実行時間を提供する。
 
void cv::fastcv::trackOpticalFlowLK (InputArray src, InputArray dst, InputArrayOfArrays srcPyr, InputArrayOfArrays dstPyr, InputArrayOfArrays srcDxPyr, InputArrayOfArrays srcDyPyr, InputArray ptsIn, OutputArray ptsOut, OutputArray statusVec, cv::Size winSize=cv::Size(7, 7), int maxIterations=7)
 LKトラッキング関数のv1向けのオーバーロード。
 
void cv::fastcv::warpAffine (InputArray _src, OutputArray _dst, InputArray _M, Size dsize, int interpolation=INTER_LINEAR, int borderValue=0)
 指定された変換行列を用いて、入力画像にアフィン変換を実行する。
 
void cv::fastcv::warpPerspective (InputArray _src, OutputArray _dst, InputArray _M0, Size dsize, int interpolation, int borderType, const Scalar &borderValue)
 透視変換を用いて画像を変換する。cv::warpPerspective と同様だが、ビット単位では一致しない。
 
void cv::fastcv::warpPerspective2Plane (InputArray _src1, InputArray _src2, OutputArray _dst1, OutputArray _dst2, InputArray _M0, Size dsize)
 同一の変換を用いて2枚の画像を透視ワープする。可能な場合はバイリニア補間が使用される。例えば、グレースケール画像とアルファ画像を同時にワープしたり、2つのカラーチャンネルをワープしたりする場合に使用する。
 

関数詳解

◆ arithmetic_op()

void cv::fastcv::arithmetic_op ( InputArray src1,
InputArray src2,
OutputArray dst,
int op )

#include <opencv2/fastcv/arithm.hpp>

2つの行列に対する算術的な加算および減算演算。Qualcomm のプロセッサ向けに最適化されている。

引数
src11番目の入力行列。型はCV_8U, CV_16S, CV_32Fのいずれか。注意: subtractではCV_32Fはサポートされていない
src2src1と同じ型・同じサイズの2番目の入力行列
dstsrc の行列と同じ型の結果行列
op演算の種類。加算は 0、減算は 1

◆ bilateralFilter()

void cv::fastcv::bilateralFilter ( InputArray _src,
OutputArray _dst,
int d,
float sigmaColor,
float sigmaSpace,
int borderType = BORDER_DEFAULT )

#include <opencv2/fastcv/bilateralFilter.hpp>

各ピクセルの近傍をd-ピクセル径で考慮しながら、画像にバイラテラルフィルタを適用する。このフィルタはインプレースでは動作しない。

引数
_src型 CV_8UC1 の入力画像
_dst_src と同じ型の出力画像
dカーネルサイズ(5, 7, 9 のいずれか)
sigmaColor色空間におけるフィルタの sigma。典型的な値は 50.0f。この値を大きくすると、色がより異なる近傍ピクセルが平滑化結果に与える影響が大きくなる。
sigmaSpace座標空間におけるフィルタの sigma。典型的な値は 1.0f。この値を大きくすると、カーネルサイズの範囲内でより遠い近傍ピクセルが平滑化結果に与える影響が大きくなる。
borderType画像外のピクセルを外挿するために使用する境界モード

◆ bilateralRecursive()

void cv::fastcv::bilateralRecursive ( cv::InputArray src,
cv::OutputArray dst,
float sigmaColor = 0.03f,
float sigmaSpace = 0.1f )

#include <opencv2/fastcv/smooth.hpp>

再帰的バイラテラルフィルタリング。

従来のバイラテラルフィルタリングとは異なり、ここでは平滑化を実際には勾配領域で実行する。このアルゴリズムは、画質と計算量の両面で元のバイラテラルフィルタリングよりも効率的であると主張している。アルゴリズムの説明は論文 Recursive Bilateral Filtering, ECCV2012 by Prof Yang Qingxiong を参照すること。この関数は cv::bilateralFilter とビット単位で完全一致しないが、Snapdragonプロセッサ上で改善されたレイテンシを提供する。

引数
src入力画像。CV_8U チャンネルを1つ持つ必要がある
dstCV_8U チャンネルを1つ持つ出力配列
sigmaColor色空間における sigma。値が大きいほど、アルゴリズムによって平滑化される色の差が大きくなる
sigmaSpace座標空間における sigma。値が大きいほど、より遠いピクセルが平滑化される

◆ buildPyramid()

void cv::fastcv::buildPyramid ( InputArray src,
OutputArrayOfArrays pyr,
int nLevels,
bool scaleBy2 = true,
int borderType = cv::BORDER_REFLECT,
uint8_t borderValue = 0 )

#include <opencv2/fastcv/pyramid.hpp>

単一の元画像から生じる float32 の画像ピラミッドを構築する。これは事前設定されたレベルに対して順次縮小される。このAPIは ORB 方式のスケーリングと半分への縮小の両方をサポートする。

引数
src型 8U または 32F のシングルチャンネル入力画像
pyrnLevels 段階の縮小画像コピーを格納する出力配列
nLevels生成するピラミッドの段数
scaleBy2画像を 2 分の 1 に縮小するか、0.8408964 として近似される 1/(2)^(1/4) の係数で縮小するか(ORB 縮小)。ORB 縮小は浮動小数点画像ではサポートされない
borderType境界の処理方法。指定可能なオプションは BORDER_REFLECT(FASTCV_BORDER_REFLECT に対応)、BORDER_REFLECT_101(FASTCV_BORDER_REFLECT_V2 に対応)、BORDER_REPLICATE(FASTCV_BORDER_REPLICATE に対応)。その他の境界タイプは FASTCV_BORDER_UNDEFINED に対応する(境界ピクセルは無視される)。現状では、境界は 2 分の 1 への縮小時のみサポートされ、ORB 縮小では無視される。また浮動小数点画像でも無視される
borderValue境界を埋めるために使用する値。浮動小数点画像では無視される

◆ calcHist()

void cv::fastcv::calcHist ( InputArray _src,
OutputArray _hist )

#include <opencv2/fastcv/histogram.hpp>

入力画像のヒストグラムを計算する。この関数は、8u シングルチャンネル画像に対する256ビンのヒストグラム計算という特定のユースケースを最適化された方法で実装している。

引数
_src型 CV_8UC1 の入力画像
_hist256 ビンの int 型の出力ヒストグラム

◆ Canny()

void cv::fastcv::dsp::Canny ( InputArray _src,
OutputArray _dst,
int lowThreshold,
int highThreshold,
int apertureSize = 3,
bool L2gradient = false )

#include <opencv2/fastcv/edges_dsp.hpp>

8ビットのグレースケール画像に適用されるCannyエッジ検出器。

引数
_src型 CV_8UC1 の入力画像
_dstエッジ検出結果を格納する 8 ビットの出力画像
lowThreshold第1のしきい値
highThreshold第2のしきい値
apertureSize勾配を計算するための Sobel カーネルサイズ。サポートされるサイズは 3, 5, 7。
L2gradientL2 勾配または L1 勾配

◆ clusterEuclidean()

void cv::fastcv::clusterEuclidean ( InputArray points,
InputArray clusterCenters,
OutputArray newClusterCenters,
OutputArray clusterSizes,
OutputArray clusterBindings,
OutputArray clusterSumDists,
int numPointsUsed = -1 )

#include <opencv2/fastcv/cluster.hpp>

D次元空間内のN個の入力点をK個のクラスタにクラスタリングする。8ビット符号なし整数の点を受け取る。Qualcommのプロセッサ上で cv::kmeans より高速な実行時間を提供する。

引数
points型 8u の点の配列。各行が1つの点を表す。サイズは N 行 D 列で、非連続でもよい。
clusterCenters型 32f の初期クラスタ中心の配列。各行が1つの中心を表す。サイズは K 行 D 列で、非連続でもよい。
newClusterCenters型 32f の結果クラスタ中心の配列。各行が見つかった中心を表す。サイズは K 行 D 列に設定される。
clusterSizes型 uint32 の結果クラスタメンバ数の配列。サイズは 1 行 K 列に設定される。
clusterBindings型 uint32 の結果点インデックスの配列。各インデックスは、対応する点がどのクラスタに属するかを示す。サイズは 1 行 numPointsUsed 列に設定される。
clusterSumDists型 32f の結果距離合計の配列。各数値は、各クラスタ中心とそれに属する点との距離の合計である。サイズは 1 行 K 列に設定される
numPointsUsed0 から numPointsUsed-1 まで(両端含む)の、クラスタリングする点の数。負の場合は N に設定される。

◆ DCT()

void cv::fastcv::DCT ( InputArray src,
OutputArray dst )

#include <opencv2/fastcv/ipptransform.hpp>

この関数は入力画像に対して8x8の順方向離散コサイン変換を実行する。8ビット符号なし整数型の入力を受け取り、16ビット符号付き整数型の出力を生成する。Qualcommのプロセッサ上で cv::dct より高速な実行時間を提供する。

引数
src型 CV_8UC1 の入力画像
dst型 CV_16SC1 の出力画像

◆ FAST10()

void cv::fastcv::FAST10 ( InputArray src,
InputArray mask,
OutputArray coords,
OutputArray scores,
int barrier,
int border,
bool nmsEnabled )

#include <opencv2/fastcv/fast10.hpp>

マスクに基づいて画像からFAST10コーナーとスコアを抽出する。マスクは検出器が無視するピクセルを指定する。Qualcommのプロセッサ上でのコーナー検出向けに設計されており、高速化を提供する。

引数
src8 ビットのグレースケール画像
maskコーナー検出から除外すべきピクセルを示す省略可能なマスク。そのサイズは画像の幅および高さの k 倍であるべきで、k = 1/2, 1/4 , 1/8 , 1, 2, 4, 8 である。詳細は FastCV の fcvCornerFast9InMaskScoreu8 関数のドキュメントを参照
coords検出されたコーナーの x, y 位置をインターリーブして格納する CV_32S の出力配列
scores検出されたコーナーのスコアを格納する省略可能な出力配列。スコアは、検出されたコーナーをなお有効と判定できる最も高いしきい値である。スコア値が高いほど、より強いコーナー特徴を示す。例えば、スコア 108 のコーナーはスコア 50 のコーナーより強い
barrierFAST しきい値。このしきい値は、中心ピクセルの輝度値と、そのピクセルを取り囲む円上のピクセルとの差を比較するために使用される
border画像の上下左右から無視するピクセル数。4 未満の場合はデフォルトで 4 になる
nmsEnabled弱いキーポイントを除去するために非最大抑制を有効にする

◆ fcvdspdeinit()

void cv::fastcv::dsp::fcvdspdeinit ( )

#include <opencv2/fastcv/dsp_init.hpp>

FastCV DSP環境を終了処理する。

この関数は 'fcvdspinit' 関数によって設定されたリソースと環境を解放する。すべてのDSPリソースが適切にクリーンアップされ、メモリリークが発生しないよう、ユースケースまたはプログラムの終了前に呼び出すべきである。

覚え書き
この関数は、すべてのDSP関連操作が完了した後、ユースケースまたはプログラムの最後に呼び出さなければならない。

◆ fcvdspinit()

int cv::fastcv::dsp::fcvdspinit ( )

#include <opencv2/fastcv/dsp_init.hpp>

FastCV DSP環境を初期化する。

この関数はDSPが動作するために必要な環境とリソースをセットアップする。DSP関連の操作が実行される前にDSPが適切に初期化されるよう、ユースケースまたはプログラムの最初に一度だけ呼び出さなければならない。

覚え書き
この関数は、DSP関連の操作の前に、ユースケースまたはプログラムの開始時に呼び出さなければならない。
戻り値
int 成功時は0を、失敗時は0以外の値を返す。

◆ FFT() [1/2]

void cv::fastcv::dsp::FFT ( InputArray src,
OutputArray dst )

#include <opencv2/fastcv/fft_dsp.hpp>

実数値行列の1Dまたは2D高速フーリエ変換を計算する。2Dの場合、入力行列と出力行列の幅と高さは2のべき乗でなければならない。1Dの場合、行列の高さは1でなければならず、幅は2のべき乗でなければならない。

引数
srcCV_8UC1 の入力配列。2次元の場合は行列の次元が 2 の累乗でなければならず、1次元の場合は高さが 1 で幅が 2 の累乗でなければならない。
dst型 CV_32FC2 の計算された FFT 行列。FFT の実部と虚部の係数は別々のチャンネルに格納される。したがって dst の次元は (srcWidth, srcHeight) になる

◆ FFT() [2/2]

void cv::fastcv::FFT ( InputArray src,
OutputArray dst )

#include <opencv2/fastcv/fft.hpp>

実数値行列の1Dまたは2D高速フーリエ変換を計算する。2Dの場合、入力行列と出力行列の幅と高さは2のべき乗でなければならない。1Dの場合、行列の高さは1でなければならず、幅は2のべき乗でなければならない。8ビット符号なし整数の配列を受け取るが、一方 cv::dft は浮動小数点または複素数の配列を受け取る。

引数
srcCV_8UC1 の入力配列。2次元の場合は行列の次元が 2 の累乗でなければならず、1次元の場合は高さが 1 で幅が 2 の累乗でなければならない。
dst型 CV_32FC2 の計算された FFT 行列。FFT の実部と虚部の係数は別々のチャンネルに格納される。したがって dst の次元は (srcWidth, srcHeight) になる

◆ fillConvexPoly()

void cv::fastcv::fillConvexPoly ( InputOutputArray img,
InputArray pts,
Scalar color )

#include <opencv2/fastcv/draw.hpp>

凸多角形を描画する。この関数は凸多角形の内部を指定した色で塗りつぶす。幅とストライドが8の倍数であることを要求する。

引数
img描画対象の画像。最大 4 つの 8 ビットチャンネルを持つことができる
ptsポリゴンの点座標の配列。N 個の 2 チャンネル要素、または 2*N 個の 1 チャンネル 32 ビット整数要素を含む必要がある
color描画されるポリゴンの色。B, G, R および A(サポートされる場合)として格納される

◆ filter2D() [1/2]

void cv::fastcv::dsp::filter2D ( InputArray _src,
OutputArray _dst,
int ddepth,
InputArray _kernel )

#include <opencv2/fastcv/blur_dsp.hpp>

非分離カーネルで画像をフィルタリングする。

引数
_src型 CV_8UC1 の入力画像。src のサイズは 176*144 より大きくなければならない
_dst型 CV_8UC1, CV_16SC1 または CV_32FC1 の出力画像
ddepth出力画像のビット深度
_kernelフィルタカーネルのデータ

◆ filter2D() [2/2]

void cv::fastcv::filter2D ( InputArray _src,
OutputArray _dst,
int ddepth,
InputArray _kernel )

#include <opencv2/fastcv/blur.hpp>

非分離カーネルによるNxN相関。半カーネル幅までの境界は無視される。

引数
_src型 CV_8UC1 の入力画像
_dst型 CV_8UC1, CV_16SC1 または CV_32FC1 の出力画像
ddepth出力画像のビット深度
_kernelフィルタカーネルのデータ
参照
Filter2D

◆ gaussianBlur()

void cv::fastcv::gaussianBlur ( InputArray _src,
OutputArray _dst,
int kernel_size = 3,
bool blur_border = true )

#include <opencv2/fastcv/blur.hpp>

sigma = 0 かつ正方形のカーネルサイズによるガウシアン平滑化。境界の扱い方が cv::GaussianBlur とは異なり、出力にわずかな差異が生じる。

引数
_src型 CV_8UC1 の入力画像
_dst型 CV_8UC1 の出力画像
kernel_sizeフィルタカーネルのサイズ。3, 5, 11 のいずれか
blur_bordertrue に設定すると、隣接値を 0 でパディングして境界が平滑化される(定数境界の一種)。false に設定すると、半カーネル幅までの境界は無視される(例えば 3x3 の場合は 1 ピクセル)。
参照
GaussianBlur

◆ gemm()

void cv::fastcv::gemm ( InputArray src1,
InputArray src2,
OutputArray dst,
float alpha = 1.0,
InputArray src3 = noArray(),
float beta = 0.0 )

#include <opencv2/fastcv/arithm.hpp>

2つの float 型行列の行列乗算 R = a*A*B + b*C。ここで A,B,C,R は行列であり、a,b は定数である。Qualcommのプロセッサ向けに最適化されている。

引数
src1型 CV_32F の第1ソース行列
src2型 CV_32F の第2ソース行列。行数が src1 の列数と等しいこと
dst型 CV_32F の結果行列
alphasrc1 と src2 に対する乗算係数
src3行列積に加算される、型 CV_32F の省略可能な第3行列
betasrc3 に対する乗算係数

◆ getQcAllocator()

cv::MatAllocator * cv::fastcv::getQcAllocator ( )

#include <opencv2/fastcv/allocator.hpp>

Qualcommのデフォルトアロケータを取得する。この関数は、DSPでの使用に最適化されたQualcommのデフォルトアロケータへのポインタを返す。

戻り値
デフォルトのFastCVアロケータへのポインタ。

◆ houghLines()

void cv::fastcv::houghLines ( InputArray src,
OutputArray lines,
double threshold = 0.25 )

#include <opencv2/fastcv/hough.hpp>

Hough直線検出を実行する。

引数
src二値輪郭を含む 8 ビット入力画像。幅とステップは 8 で割り切れる必要がある
lines検出された線分を (x1, y1, x2, y2) の形式で格納する出力配列。すべての数値は 32 ビット浮動小数点である
threshold検出される線分の最小長を制御する。値は 0.0 から 1.0 の間でなければならない。1.0 に近い値は検出される線分の数を減らす。0.0 に近い値はより多くの線分を検出するが、ノイズが多くなる場合がある。推奨値は 0.25。

◆ IDCT()

void cv::fastcv::IDCT ( InputArray src,
OutputArray dst )

#include <opencv2/fastcv/ipptransform.hpp>

この関数は入力画像に対して8x8の逆離散コサイン変換を実行する。Qualcommのプロセッサ上で逆変換のケースにおいて cv::dct より高速な実行時間を提供する。

引数
src型 CV_16SC1 の入力画像
dst型 CV_8UC1 の出力画像

◆ IFFT() [1/2]

void cv::fastcv::dsp::IFFT ( InputArray src,
OutputArray dst )

#include <opencv2/fastcv/fft_dsp.hpp>

複素数値行列の1Dまたは2D逆高速フーリエ変換を計算する。2Dの場合、入力行列と出力行列の幅と高さは2のべき乗でなければならない。1Dの場合、行列の高さは1でなければならず、幅は2のべき乗でなければならない。

引数
srcFFT の実部と虚部の係数を別々のチャンネルに格納した、型 CV_32FC2 の入力配列。2次元の場合は行列の次元が 2 の累乗でなければならず、1次元の場合は高さが 1 で幅が 2 の累乗でなければならない。
dst型 CV_8U の計算された IFFT 行列。この行列は実数値で虚部を持たない。したがって dst の次元は (srcWidth , srcHeight) になる

◆ IFFT() [2/2]

void cv::fastcv::IFFT ( InputArray src,
OutputArray dst )

#include <opencv2/fastcv/fft.hpp>

複素数値行列の1Dまたは2D逆高速フーリエ変換を計算する。2Dの場合、入力行列と出力行列の幅と高さは2のべき乗でなければならない。1Dの場合、行列の高さは1でなければならず、幅は2のべき乗でなければならない。

引数
srcFFT の実部と虚部の係数を別々のチャンネルに格納した、型 CV_32FC2 の入力配列。2次元の場合は行列の次元が 2 の累乗でなければならず、1次元の場合は高さが 1 で幅が 2 の累乗でなければならない。
dst型 CV_8U の計算された IFFT 行列。この行列は実数値で虚部を持たない。したがって dst の次元は (srcWidth , srcHeight) になる

◆ integrateYUV()

void cv::fastcv::integrateYUV ( InputArray Y,
InputArray CbCr,
OutputArray IY,
OutputArray ICb,
OutputArray ICr )

#include <opencv2/fastcv/arithm.hpp>

YCbCr420画像の積分。注意: 入力の高さは2の倍数であるべきである。入力の幅とストライドは16の倍数であるべきである。出力のストライドは8の倍数であるべきである。Qualcommのプロセッサ向けに最適化されている。

引数
Y8UC1 YCbCr420 画像の入力 Y 成分。
CbCr8UC1 YCbCr420 画像の入力 CbCr 成分(インターリーブ)。
IYCV_32S シングルチャンネルの出力 Y 積分画像。サイズは (Y height + 1)*(Y width + 1)
ICbCV_32S シングルチャンネルの出力 Cb 積分画像。サイズは (Y height/2 + 1)*(Y width/2 + 1)
ICrCV_32S シングルチャンネルの出力 Cr 積分画像。サイズは (Y height/2 + 1)*(Y width/2 + 1)

◆ matmuls8s32()

void cv::fastcv::matmuls8s32 ( InputArray src1,
InputArray src2,
OutputArray dst )

#include <opencv2/fastcv/arithm.hpp>

2つの int8_t 型行列の行列乗算。符号付き整数の入出力を使用するが、一方 cv::gemm は浮動小数点の入出力を使用する。matmuls8s32 はQualcommのプロセッサ上で高速化を提供する。

引数
src1型 CV_8S の第1ソース行列
src2型 CV_8S の第2ソース行列
dst型 CV_32S の結果行列

◆ meanShift()

int cv::fastcv::meanShift ( InputArray src,
Rect & rect,
TermCriteria termCrit )

#include <opencv2/fastcv/shift.hpp>

ミーンシフト処理を適用し、最終的な収束位置を取得する。この関数は元の画像(通常は確率画像)にミーンシフト処理を適用し、最終的な収束位置を取得する。収束位置の探索は、要求された精度に達するか、最大反復回数に達したときに停止する。アルゴリズムで使用される Moments は浮動小数点で計算される。この関数は cv::meanShift とビット単位で完全一致しないが、Snapdragonプロセッサ上で改善されたレイテンシを提供する。

引数
src8 ビット、32 ビット整数または 32 ビット浮動小数点のグレースケール画像。通常はオブジェクトのヒストグラムに基づいて計算された確率画像である
rect初期探索ウィンドウ位置。最終的に収束したウィンドウ位置も返す
termCritMeanShift を終了するために使用する基準。2 つの終了基準から成る。1) epsilon: 必要な精度、2) max_iter: 最大反復回数
戻り値
ループが停止した反復回数

◆ merge()

void cv::fastcv::merge ( InputArrayOfArrays mv,
OutputArray dst )

#include <opencv2/fastcv/channel.hpp>

複数のシングルチャンネル CV_8U mat から1つのマルチチャンネル mat を作成する。Qualcommのプロセッサ向けに最適化されている。

引数
mvマージする行列の入力ベクトル。mv 内のすべての行列は CV_8UC1 で同じサイズでなければならない。注意: 行列の数は 2, 3, 4 のいずれか。
dstビット深度 CV_8U で mv[0] と同じサイズの出力配列。チャンネル数は行列配列内の行列の総数になる

◆ moments()

cv::Moments cv::fastcv::moments ( InputArray _src,
bool binary )

#include <opencv2/fastcv/moments.hpp>

画像ピクセルの輝度値について3次までのすべてのモーメントを計算する。結果は構造体 cv::Moments で返される。この関数 cv::fastcv::moments() は浮動小数点計算でモーメントを計算するが、一方 cv::moments() は double を使用してモーメントを計算する。

引数
_src型 CV_8UC1, CV_32SC1, CV_32FC1 の入力画像
binarytrue の場合、画像を2値画像(黒は 0x00、白は 0xff)とみなす。そうでない場合はグレースケール画像とみなす。

◆ normalizeLocalBox()

void cv::fastcv::normalizeLocalBox ( InputArray _src,
OutputArray _dst,
Size pSize,
bool useStdDev )

#include <opencv2/fastcv/blur.hpp>

画像の局所的な減算正規化およびコントラスト正規化を計算する。画像の各ピクセルは、そのピクセルを中心とするパッチの平均と標準偏差によって正規化される。Qualcommのプロセッサ向けに最適化されている。

引数
_src入力画像。CV_8U または CV_32F のシングルチャンネルでなければならない。
_dst出力配列。シングルチャンネルでなければならない。src が CV_8U 型の場合は CV_8S、src が CV_32F の場合は CV_32F となる。
pSize平均と標準偏差の計算に用いるパッチサイズ
useStdDev1 の場合、正規化に平均と標準偏差の両方を使用する。0 の場合は平均のみを使用する。

◆ remap()

void cv::fastcv::remap ( InputArray src,
OutputArray dst,
InputArray map1,
InputArray map2,
int interpolation,
int borderValue = 0 )

#include <opencv2/fastcv/remap.hpp>

グレースケールの CV_8UC1 画像に汎用的な幾何変換を適用する。

引数
src1番目の入力画像データ。型は CV_8UC1
dst出力画像データ。型は CV_8UC1
map1浮動小数点型の CV_32FC1 行列。各要素は元画像におけるマッピング先の列座標を表す。
map2浮動小数点型の CV_32FC1 行列。各要素は元画像におけるマッピング先の行座標を表す。
interpolationINTER_NEAREST と INTER_LINEAR の補間のみがサポートされている
borderValue定数のピクセル値

◆ remapRGBA()

void cv::fastcv::remapRGBA ( InputArray src,
OutputArray dst,
InputArray map1,
InputArray map2,
int interpolation )

#include <opencv2/fastcv/remap.hpp>

4チャンネルの CV_8UC4 画像に、バイリニア補間または最近傍補間で汎用的な幾何変換を適用する。

引数
src1番目の入力画像データ。型は CV_8UC4
dst出力画像データ。型は CV_8UC4
map1浮動小数点型の CV_32FC1 行列。各要素は元画像におけるマッピング先の列座標を表す。
map2浮動小数点型の CV_32FC1 行列。各要素は元画像におけるマッピング先の行座標を表す。
interpolationINTER_NEAREST と INTER_LINEAR の補間のみがサポートされている

◆ resizeDown()

void cv::fastcv::resizeDown ( cv::InputArray _src,
cv::OutputArray _dst,
Size dsize,
double inv_scale_x,
double inv_scale_y )

#include <opencv2/fastcv/scale.hpp>

指定したスケーリング係数または寸法を使用して画像を縮小する。この関数はシングルチャンネル(CV_8UC1)画像と2チャンネル(CV_8UC2)画像の両方をサポートする。

引数
_src入力画像データ。型は CV_8UC1 または CV_8UC2。
_dst出力画像データ。型は CV_8UC1 または CV_8UC2。
dsize出力画像の希望サイズ。空の場合は inv_scale_x と inv_scale_y を使って計算される。
inv_scale_x幅に対する逆スケーリング係数。dsize が指定されている場合、この引数は無視される。
inv_scale_y高さに対する逆スケーリング係数。dsize が指定されている場合、この引数は無視される。
覚え書き
dsize が指定されない場合、inv_scale_x と inv_scale_y は厳密に正でなければならない。

◆ sepFilter2D()

void cv::fastcv::sepFilter2D ( InputArray _src,
OutputArray _dst,
int ddepth,
InputArray _kernelX,
InputArray _kernelY )

#include <opencv2/fastcv/blur.hpp>

分離可能カーネルによるNxN相関。srcImg と dstImg が同じアドレスを指し、srcStride が dstStride に等しい場合、インプレースで処理する。半カーネル幅までの境界は無視される。オーバーフローの扱い方がOpenCVとは異なり、この関数は中間結果と最終結果に対して右シフトを行う。

引数
_src型 CV_8UC1 の入力画像
_dst型が CV_8UC1、CV_16SC1 の出力画像
ddepth出力画像のビット深度
_kernelXX方向のフィルタカーネルデータ
_kernelYY方向のフィルタカーネルデータ(CV_16SC1 の場合、kernelX と kernelY は同一でなければならない)
参照
sepFilter2D

◆ sobel()

void cv::fastcv::sobel ( InputArray _src,
OutputArray _dx,
OutputArray _dy,
int kernel_size,
int borderType,
int borderValue )

#include <opencv2/fastcv/edges.hpp>

正規化なしで、ソースの輝度データから2D勾配画像を作成する。X方向の1次導関数、Y方向の1次導関数、またはその両方を同時に計算する。

引数
_src型 CV_8UC1 の入力画像
_dx水平方向の勾配を格納するバッファ。サイズは (dxyStride)*(height) バイトでなければならない。NULL の場合、水平方向の勾配は計算されない。
_dy垂直方向の勾配を格納するバッファ。サイズは (dxyStride)*(height) バイトでなければならない。NULL の場合、垂直方向の勾配は計算されない
kernel_sizeSobel カーネルサイズ。3x3、5x5、7x7 をサポートする
borderType境界の種類。BORDER_CONSTANT、BORDER_REPLICATE をサポートする
borderValue定数境界の場合の境界値

◆ sobel3x3u8()

void cv::fastcv::sobel3x3u8 ( InputArray _src,
OutputArray _dst,
OutputArray _dsty = noArray(),
int ddepth = CV_8U,
bool normalization = false )

#include <opencv2/fastcv/edges.hpp>

正規化なしで、ソースの輝度データから2D勾配画像を作成する。この関数は3x3近傍で中心差分を計算し、その結果をSobelカーネルと畳み込む。半カーネル幅までの境界は無視される。

引数
_src型 CV_8UC1 の入力画像
_dst_dsty が指定されている場合は水平方向の勾配を格納するバッファ、そうでない場合は |dx|+|dy| の8ビット出力画像。バッファのサイズは (srcwidth)*(srcheight) バイト
_dsty(省略可能)垂直方向の勾配を格納するバッファ。サイズは (srcwidth)*(srcheight) でなければならない。
ddepth出力画像のビット深度 CV_8SC1、CV_16SC1、CV_32FC1
normalization結果に対して正規化を行うかどうか

◆ sobelPyramid()

void cv::fastcv::sobelPyramid ( InputArrayOfArrays pyr,
OutputArrayOfArrays dx,
OutputArrayOfArrays dy,
int outType = CV_8S )

#include <opencv2/fastcv/pyramid.hpp>

画像ピラミッドから勾配ピラミッドを作成する。注意: 勾配計算中は境界が無視される。

引数
pyrシングルチャンネル8ビット画像の入力ピラミッド。連続した画像のみがサポートされている。
dxpyr と同じサイズの水平方向 Sobel 勾配ピラミッド
dypyr と同じサイズの垂直方向 Sobel 勾配ピラミッド
outType出力データの型。CV_8S、CV_16S、CV_32F のいずれか

◆ split()

void cv::fastcv::split ( InputArray src,
OutputArrayOfArrays mv )

#include <opencv2/fastcv/channel.hpp>

CV_8U マルチチャンネル mat を複数の CV_8UC1 mat に分割する。Qualcommのプロセッサ向けに最適化されている。

引数
srcビット深度 CV_8U の2、3、または4チャンネルの入力 mat
mvサイズ src.channels() の CV_8UC1 mat の出力ベクトル

◆ sumOfAbsoluteDiffs()

void cv::fastcv::dsp::sumOfAbsoluteDiffs ( cv::InputArray _patch,
cv::InputArray _src,
cv::OutputArray _dst )

#include <opencv2/fastcv/sad_dsp.hpp>

8x8テンプレートに対する画像の絶対差分の合計。

引数
_patch1番目の入力画像データ。型は CV_8UC1
_src入力画像データ。型は CV_8UC1
_dst出力画像データ。型は CV_16UC1

◆ thresholdOtsu()

void cv::fastcv::dsp::thresholdOtsu ( InputArray _src,
OutputArray _dst,
bool type )

#include <opencv2/fastcv/thresh_dsp.hpp>

大津の手法を使用してグレースケール画像を2値化する。値がしきい値より大きい場合はピクセルを max(255) に設定し、そうでなければピクセルを min(0) に設定する。しきい値はクラス内分散(クラス内のばらつき)を最小化するように探索される。

引数
_src入力8ビットグレースケール画像。バッファのサイズは srcStride*srcHeight バイト。
_dst出力8ビット2値化画像。バッファのサイズは dstStride*srcHeight バイト。
typeしきい値処理の種類。0 または 1 のいずれか。注意: type=0 の場合、ピクセル値がしきい値より大きければ maxValue に設定され、そうでなければ 0 に設定される。type=1 の場合、ピクセル値がしきい値より大きければ 0 に設定され、そうでなければ maxValue に設定される。

◆ thresholdRange()

void cv::fastcv::thresholdRange ( InputArray src,
OutputArray dst,
int lowThresh,
int highThresh,
int trueValue,
int falseValue )

#include <opencv2/fastcv/thresh.hpp>

1対のしきい値に基づいてグレースケール画像を2値化する。2値化された画像はユーザが選択した2つの値になる。この関数はSnapdragonプロセッサ上で改善されたレイテンシを提供する。

引数
src8 ビットのグレースケール画像
dst入力画像と同じサイズ・型の出力画像。入力画像と同じものでもよい
lowThresh2値化のための下限しきい値
highThresh2値化のための上限しきい値
trueValue元のピクセルがしきい値のペアによって両端を含めて定義される範囲内にある場合に、出力先ピクセルへ割り当てる値
falseValue元のピクセルがしきい値のペアによって両端を含めて定義される範囲外にある場合に、出力先ピクセルへ割り当てる値

◆ trackOpticalFlowLK() [1/2]

void cv::fastcv::trackOpticalFlowLK ( InputArray src,
InputArray dst,
InputArrayOfArrays srcPyr,
InputArrayOfArrays dstPyr,
InputArray ptsIn,
OutputArray ptsOut,
InputArray ptsEst,
OutputArray statusVec,
cv::Size winSize = cv::Size(7, 7),
cv::TermCriteria termCriteria = cv::TermCriteria(cv::TermCriteria::MAX_ITER|cv::TermCriteria::EPS, 7, 0.03f *0.03f) )

#include <opencv2/fastcv/tracking.hpp>

Lucas-Kanadeアルゴリズムを使用して疎なオプティカルフローを計算する。8ビット符号なし整数の画像を受け取る。Qualcommのプロセッサ上で高速な実行時間を提供する。

引数
src型 8U のシングルチャンネル入力画像。最初の動きフレーム
dst型 8U のシングルチャンネル入力画像。最後の動きフレーム。最初のフレームと同じサイズ・ストライドでなければならない
srcPyr最初の動きフレームから構築したピラミッド
dstPyr最後の動きフレームから構築したピラミッド
ptsIn開始点の初期サブピクセル座標の配列。32F の2D要素を含んでいなければならない
ptsOut計算された最終点の出力配列。32F の2D要素を含んでいなければならない
ptsEst最終点に対する推定値の入力配列。32F の2D要素を含んでいなければならず、空でもよい
statusVec各特徴の状態を示す int32 値の出力配列。空でもよい
winSizeオプティカルフロー探索のウィンドウサイズ。幅と高さは奇数でなければならない。推奨値は 5、7、9
termCriteria最大反復回数、最大イプシロン、停止条件を含む終了基準

◆ trackOpticalFlowLK() [2/2]

void cv::fastcv::trackOpticalFlowLK ( InputArray src,
InputArray dst,
InputArrayOfArrays srcPyr,
InputArrayOfArrays dstPyr,
InputArrayOfArrays srcDxPyr,
InputArrayOfArrays srcDyPyr,
InputArray ptsIn,
OutputArray ptsOut,
OutputArray statusVec,
cv::Size winSize = cv::Size(7, 7),
int maxIterations = 7 )

#include <opencv2/fastcv/tracking.hpp>

LKトラッキング関数のv1向けのオーバーロード。

引数
src型 8U のシングルチャンネル入力画像。最初の動きフレーム
dst型 8U のシングルチャンネル入力画像。最後の動きフレーム。最初のフレームと同じサイズ・ストライドでなければならない
srcPyr最初の動きフレームから構築したピラミッド
dstPyr最後の動きフレームから構築したピラミッド
srcDxPyrsrcPyr の X方向 Sobel 微分のピラミッド
srcDyPyrsrcPyr の Y方向 Sobel 微分のピラミッド
ptsIn開始点の初期サブピクセル座標の配列。32F の2D要素を含んでいなければならない
ptsOut計算された最終点の出力配列。32F の2D要素を含んでいなければならない
statusVec各特徴の状態を示す int32 値の出力配列。空でもよい
winSizeオプティカルフロー探索のウィンドウサイズ。幅と高さは奇数でなければならない。推奨値は 5、7、9
maxIterations試行する最大反復回数

◆ warpAffine()

void cv::fastcv::warpAffine ( InputArray _src,
OutputArray _dst,
InputArray _M,
Size dsize,
int interpolation = INTER_LINEAR,
int borderValue = 0 )

#include <opencv2/fastcv/warp.hpp>

指定された変換行列を使用して入力画像にアフィン変換を実行する。

この関数は変換行列に基づいて2種類の操作を実行する:

  1. Standard Affine Transformation (2x3 matrix):
    • アフィン行列を使用して入力画像全体を変換する
    • CV_8UC1 型と CV_8UC3 型の両方をサポートする
  2. Patch Extraction with Transformation (2x2 matrix):
    • 入力画像からパッチを抽出して変換する
    • CV_8UC1 型のみをサポートする
    • 入力がROIの場合: 元画像内のROI中心からパッチが抽出される
    • 入力が画像全体の場合: 画像中心からパッチが抽出される
引数
_src入力画像。サポートされる形式:
  • CV_8UC1: 8ビットシングルチャンネル
  • CV_8UC3: 8ビット3チャンネル - 2x3 行列の場合のみ
_dst出力画像。src と同じ型を持ち、サイズは dsize で指定される
_M2x2/2x3 アフィン変換行列(逆マップ)
dsize出力サイズ:
  • 2x3 行列の場合: 出力画像のサイズ
  • 2x2 行列の場合: 抽出するパッチのサイズ
interpolation補間方法。CV_8UC1 入力での 2x3 変換にのみ適用される。選択肢:
  • INTER_NEAREST: 最近傍補間
  • INTER_LINEAR: バイリニア補間(デフォルト)
  • INTER_AREA: 面積ベースの補間
  • INTER_CUBIC: バイキュービック補間 注意: CV_8UC3 入力では内部的に常にバイキュービック補間が使用される
borderValue境界ピクセル用の定数ピクセル値。シングルチャンネル入力での 2x3 変換にのみ適用される。
覚え書き
アフィン行列は逆写像の慣習に従い、対応するソース座標を生成するために出力先座標に適用される。
この関数は境界処理に 'FASTCV_BORDER_CONSTANT' を使用し、指定された 'borderValue' を用いる。

◆ warpPerspective()

void cv::fastcv::warpPerspective ( InputArray _src,
OutputArray _dst,
InputArray _M0,
Size dsize,
int interpolation,
int borderType,
const Scalar & borderValue )

#include <opencv2/fastcv/warp.hpp>

透視変換を使用して画像を変換する。cv::warpPerspective と同じだが、ビット単位で完全一致はしない。

引数
_src入力8ビット画像。
_dst出力8ビット画像。
_M03x3 透視変換行列。
dsize出力画像のサイズ。
interpolation補間方法。cv::INTER_NEARESTcv::INTER_LINEARcv::INTER_AREA のみがサポートされている。
borderTypeピクセル外挿方法。cv::BORDER_CONSTANTcv::BORDER_REPLICATEcv::BORDER_TRANSPARENT のみがサポートされている。
borderValue定数境界の場合に使用する値。

◆ warpPerspective2Plane()

void cv::fastcv::warpPerspective2Plane ( InputArray _src1,
InputArray _src2,
OutputArray _dst1,
OutputArray _dst2,
InputArray _M0,
Size dsize )

#include <opencv2/fastcv/warp.hpp>

同じ変換を使用して2つの画像を透視ワープする。適用可能な箇所ではバイリニア補間が使用される。例えば、グレースケール画像とアルファ画像を同時にワープしたり、2つのカラーチャンネルをワープしたりする。

引数
_src11番目の入力8ビット画像。バッファのサイズは src1Stride*srcHeight バイト。
_src22番目の入力8ビット画像。バッファのサイズは src2Stride*srcHeight バイト。
_dst11番目のワープ後出力画像(src1 に対応)。バッファのサイズは dst1Stride*dstHeight バイト、型は CV_8UC1
_dst22番目のワープ後出力画像(src2 に対応)。バッファのサイズは dst2Stride*dstHeight バイト、型は CV_8UC1
_M03x3 透視変換行列(逆マップ)
dsize出力画像のサイズ