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

名前空間

namespace  calib3d
 この名前空間にはステレオ向けのG-API演算型および関連機能が含まれる。
 
namespace  compound
 
namespace  core
 この名前空間には、OpenCV Coreモジュールの機能のためのG-API Operation Typeが含まれる。
 
namespace  cpu
 この名前空間にはG-API CPUバックエンドの関数、構造体、シンボルが含まれる。
 
namespace  fluid
 この名前空間には、G-API Fluidバックエンドの関数、構造体、シンボルが含まれている。
 
namespace  ie
 この名前空間にはG-API OpenVINOバックエンドの関数、構造体、シンボルが含まれる。
 
namespace  imgproc
 この名前空間には、OpenCV ImgProc モジュールの機能向けの G-API 演算型が含まれる。
 
namespace  nn
 
namespace  oak
 
namespace  ocl
 この名前空間にはG-API OpenCLバックエンドの関数、構造体、シンボルが含まれる。
 
namespace  onnx
 この名前空間はG-API ONNX Runtimeバックエンドの関数、構造体、シンボルを含む。
 
namespace  ot
 この名前空間には、VAS Object Trackingモジュール機能のためのG-API演算型 (Operation Types) が含まれる。
 
namespace  ov
 この名前空間にはG-API OpenVINO 2.0バックエンドの関数、構造体、シンボルが含まれる。
 
namespace  own
 この名前空間にはG-APIがスタンドアロンモードのビルドで使用する独自のデータ構造が含まれる。
 
namespace  plaidml
 この名前空間にはG-API PlaidMLバックエンドの関数、構造体、シンボルが含まれる。
 
namespace  python
 この名前空間にはG-API Pythonバックエンドの関数、構造体、シンボルが含まれる。
 
namespace  render
 この名前空間にはG-API CPUレンダリングバックエンドの関数、構造体、シンボルが含まれる。詳細は G-APIの描画および合成機能 を参照。
 
namespace  s11n
 この名前空間には G-API のシリアライズおよびデシリアライズ用の関数とデータ構造が含まれる。
 
namespace  streaming
 この名前空間には、Streaming実行モードに関連するG-APIの関数、構造体、シンボルが含まれる。
 
namespace  video
 この名前空間には、オプティカルフローや背景差分などの映像向けアルゴリズムのためのG-API操作と関数が含まれる。
 
namespace  wip
 この名前空間には実験的な G-API 機能が含まれており、この名前空間内の関数や構造体は将来のリリースで変更または削除される可能性がある。また、この名前空間には API がまだ安定化されていない関数も含まれる。
 

クラス

struct  Generic
 Generic ネットワーク型: 入力層と出力層は実行時に動的に構成される。 続き...
 
struct  GNetPackage
 ネットワーク構成のためのコンテナクラス。GKernelPackage に類似する。このオブジェクトを構築するには cv::gapi::networks() を使用する。 続き...
 
struct  KalmanParams
 Kalmanフィルタの初期化引数のための構造体。 続き...
 
struct  use_only
 cv::gapi::use_only() は、cv::GComputation::compile() で指定したカーネルのみをG-APIに使用させる(そのパッケージに加えてデフォルトで利用可能なカーネルは拡張しない)よう指示する特別なコンビネータである。 続き...
 

型定義

using GKernelPackage = cv::GKernelPackage
 

列挙型

enum class  StereoOutputFormat {
  DEPTH_FLOAT16 ,
  DEPTH_FLOAT32 ,
  DISPARITY_FIXED16_11_5 ,
  DISPARITY_FIXED16_12_4 ,
  DEPTH_16F = DEPTH_FLOAT16 ,
  DEPTH_32F = DEPTH_FLOAT32 ,
  DISPARITY_16Q_10_5 = DISPARITY_FIXED16_11_5 ,
  DISPARITY_16Q_11_4 = DISPARITY_FIXED16_12_4
}
 

関数

GMat absDiff (const GMat &src1, const GMat &src2)
 2つの行列間の要素ごとの絶対差を計算する。
 
GMat absDiffC (const GMat &src, const GScalar &c)
 行列要素の絶対値を計算する。
 
GMat add (const GMat &src1, const GMat &src2, int ddepth=-1)
 2つの行列の要素ごとの和を計算する。
 
GMat addC (const GMat &src1, const GScalar &c, int ddepth=-1)
 行列と指定したスカラの要素ごとの和を計算する。
 
GMat addC (const GScalar &c, const GMat &src1, int ddepth=-1)
 これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは受け取る引数のみが異なる。
 
GMat addWeighted (const GMat &src1, double alpha, const GMat &src2, double beta, double gamma, int ddepth=-1)
 2つの行列の重み付き和を計算する。
 
GMat BackgroundSubtractor (const GMat &src, const cv::gapi::video::BackgroundSubtractorParams &bsParams)
 ガウス混合モデルベースまたはK近傍法ベースの背景/前景セグメンテーションAlgorithm。この処理は前景マスクを生成する。
 
GMat BayerGR2RGB (const GMat &src_gr)
 画像をBayerGR色空間からRGBへ変換する。この関数は入力画像をBayerGR色空間からRGBへ変換する。G、R、Bチャンネル値の一般的な範囲は0から255である。
 
GMat BGR2Gray (const GMat &src)
 画像をBGR色空間からグレースケールへ変換する。
 
GMat BGR2I420 (const GMat &src)
 画像をBGR色空間からI420色空間へ変換する。
 
GMat BGR2LUV (const GMat &src)
 画像をBGR色空間からLUV色空間へ変換する。
 
GMat BGR2RGB (const GMat &src)
 画像をBGR色空間からRGB色空間へ変換する。
 
GMat BGR2YUV (const GMat &src)
 画像をBGR色空間からYUV色空間へ変換する。
 
GMat bilateralFilter (const GMat &src, int d, double sigmaColor, double sigmaSpace, int borderType=BORDER_DEFAULT)
 画像にバイラテラルフィルタを適用する。
 
cv::GRunArg bind (cv::GRunArgP &out)
 グラフ実行中に利用可能な出力GRunArgsPを、シリアライズ可能なGRunArgsにラップする。
 
cv::GRunArgsP bind (cv::GRunArgs &out_args)
 デシリアライズされた出力GRunArgsを、GCompiledで利用可能なGRunArgsPにラップする。
 
GMat bitwise_and (const GMat &src1, const GMat &src2)
 2つの行列のビット単位の論理積 (src1 & src2) を計算する。同じサイズの2つの行列の、要素ごとのビット単位の論理積を算出する。
 
GMat bitwise_and (const GMat &src1, const GScalar &src2)
 
GMat bitwise_not (const GMat &src)
 配列の各ビットを反転する。
 
GMat bitwise_or (const GMat &src1, const GMat &src2)
 2つの行列のビット単位の論理和 (src1 | src2) を計算する。同じサイズの2つの行列の、要素ごとのビット単位の論理和を算出する。
 
GMat bitwise_or (const GMat &src1, const GScalar &src2)
 
GMat bitwise_xor (const GMat &src1, const GMat &src2)
 2つの行列のビット単位の論理「排他的論理和」 (src1 ^ src2) を計算する。同じサイズの2つの行列の、要素ごとのビット単位の論理「排他的論理和」を算出する。
 
GMat bitwise_xor (const GMat &src1, const GScalar &src2)
 
GMat blur (const GMat &src, const Size &ksize, const Point &anchor=Point(-1,-1), int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 正規化ボックスフィルタを使って画像を平滑化する。
 
GOpaque< RectboundingRect (const GArray< Point2f > &src)
 
GOpaque< RectboundingRect (const GArray< Point2i > &src)
 
GOpaque< RectboundingRect (const GMat &src)
 点集合またはグレースケール画像の非ゼロピクセルの正立バウンディング矩形を計算する。
 
GMat boxFilter (const GMat &src, int dtype, const Size &ksize, const Point &anchor=Point(-1,-1), bool normalize=true, int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 ボックスフィルタを使って画像を平滑化する。
 
std::tuple< GArray< GMat >, GScalarbuildOpticalFlowPyramid (const GMat &img, const Size &winSize, const GScalar &maxLevel, bool withDerivatives=true, int pyrBorder=BORDER_REFLECT_101, int derivBorder=BORDER_CONSTANT, bool tryReuseInputImage=true)
 calcOpticalFlowPyrLK に渡すことのできる画像ピラミッドを構築する。
 
std::tuple< GArray< Point2f >, GArray< uchar >, GArray< float > > calcOpticalFlowPyrLK (const GArray< GMat > &prevPyr, const GArray< GMat > &nextPyr, const GArray< Point2f > &prevPts, const GArray< Point2f > &predPts, const Size &winSize=Size(21, 21), const GScalar &maxLevel=3, const TermCriteria &criteria=TermCriteria(TermCriteria::COUNT|TermCriteria::EPS, 30, 0.01), int flags=0, double minEigThresh=1e-4)
 
std::tuple< GArray< Point2f >, GArray< uchar >, GArray< float > > calcOpticalFlowPyrLK (const GMat &prevImg, const GMat &nextImg, const GArray< Point2f > &prevPts, const GArray< Point2f > &predPts, const Size &winSize=Size(21, 21), const GScalar &maxLevel=3, const TermCriteria &criteria=TermCriteria(TermCriteria::COUNT|TermCriteria::EPS, 30, 0.01), int flags=0, double minEigThresh=1e-4)
 ピラミッドを用いた反復Lucas-Kanade法により、疎な特徴集合に対するオプティカルフローを計算する。
 
GMat Canny (const GMat &image, double threshold1, double threshold2, int apertureSize=3, bool L2gradient=false)
 Cannyアルゴリズムを用いて画像のエッジを検出する。
 
std::tuple< GMat, GMatcartToPolar (const GMat &x, const GMat &y, bool angleInDegrees=false)
 2次元ベクトルの大きさと角度を計算する。
 
GMat cmpEQ (const GMat &src1, const GMat &src2)
 2つの行列を要素ごとに比較し、1つ目の行列の要素が2つ目の行列の要素と等しいかどうかを判定する。
 
GMat cmpEQ (const GMat &src1, const GScalar &src2)
 
GMat cmpGE (const GMat &src1, const GMat &src2)
 2つの行列を要素ごとに比較し、1つ目の行列の要素が2つ目の行列の要素以上かどうかを判定する。
 
GMat cmpGE (const GMat &src1, const GScalar &src2)
 
GMat cmpGT (const GMat &src1, const GMat &src2)
 2つの行列を要素ごとに比較し、1つ目の行列の要素が2つ目の行列の要素より大きいかどうかを判定する。
 
GMat cmpGT (const GMat &src1, const GScalar &src2)
 
GMat cmpLE (const GMat &src1, const GMat &src2)
 2つの行列を要素ごとに比較し、1つ目の行列の要素が2つ目の行列の要素以下かどうかを判定する。
 
GMat cmpLE (const GMat &src1, const GScalar &src2)
 
GMat cmpLT (const GMat &src1, const GMat &src2)
 2つの行列を要素ごとに比較し、1つ目の行列の要素が2つ目の行列の要素より小さいかどうかを判定する。
 
GMat cmpLT (const GMat &src1, const GScalar &src2)
 
GMat cmpNE (const GMat &src1, const GMat &src2)
 2つの行列を要素ごとに比較し、1つ目の行列の要素が2つ目の行列の要素と等しくないかどうかを判定する。
 
GMat cmpNE (const GMat &src1, const GScalar &src2)
 
template<typename... Ps>
cv::GKernelPackage combine (const cv::GKernelPackage &a, const cv::GKernelPackage &b, Ps &&... rest)
 複数のG-APIカーネルパッケージを1つに統合する。
 
cv::GKernelPackage combine (const cv::GKernelPackage &lhs, const cv::GKernelPackage &rhs)
 
GMat concatHor (const GMat &src1, const GMat &src2)
 与えられた行列に水平方向の連結を適用する。
 
GMat concatHor (const std::vector< GMat > &v)
 
GMat concatVert (const GMat &src1, const GMat &src2)
 指定した行列を垂直方向に連結する。
 
GMat concatVert (const std::vector< GMat > &v)
 
GMat convertTo (const GMat &src, int rdepth, double alpha=1, double beta=0)
 オプションのスケーリングを伴って行列を別のビット深度へ変換する。
 
GFrame copy (const GFrame &in)
 入力フレームのコピーを作成する。このコピーは実体を伴わない場合がある(実際のデータはコピーされない)ことに注意。グラフの規約を維持するためにこの関数を使用する。たとえばStreamingモードのように、グラフの入力を直接出力へ渡す必要がある場合などである。
 
GMat copy (const GMat &in)
 入力画像のコピーを作成する。このコピーは実体を伴わない場合がある(実際のデータはコピーされない)ことに注意。グラフの規約を維持するためにこの関数を使用する。たとえばStreamingモードのように、グラフの入力を直接出力へ渡す必要がある場合などである。
 
GOpaque< int > countNonZero (const GMat &src)
 非ゼロの配列要素を数える。
 
GMat crop (const GMat &src, const Rect &rect)
 2次元行列を切り出す。
 
template<>
cv::GComputation deserialize (const std::vector< char > &bytes)
 バイト配列から GComputation をデシリアライズする。
 
template<>
cv::GMetaArgs deserialize (const std::vector< char > &bytes)
 バイト配列から GMetaArgs をデシリアライズする。
 
template<>
cv::GRunArgs deserialize (const std::vector< char > &bytes)
 バイト配列から GRunArgs をデシリアライズする。
 
template<>
std::vector< std::string > deserialize (const std::vector< char > &bytes)
 バイト配列から std::vector<std::string> をデシリアライズする。
 
template<typename T , typename... Types>
std::enable_if< std::is_same< T, GCompileArgs >::value, GCompileArgs >::type deserialize (const std::vector< char > &bytes)
 バイト配列から、テンプレートで指定された型の GCompileArgs をデシリアライズする。
 
template<typename T , typename AtLeastOneAdapterT , typename... AdapterTypes>
std::enable_if< std::is_same< T, GRunArgs >::value, GRunArgs >::type deserialize (const std::vector< char > &bytes)
 バイト配列から、RMatMediaFrame オブジェクトを含む GRunArgs を(存在する場合は)デシリアライズする。
 
GMat dilate (const GMat &src, const Mat &kernel, const Point &anchor=Point(-1,-1), int iterations=1, int borderType=BORDER_CONSTANT, const Scalar &borderValue=morphologyDefaultBorderValue())
 特定の構造要素を使って画像を膨張させる。
 
GMat dilate3x3 (const GMat &src, int iterations=1, int borderType=BORDER_CONSTANT, const Scalar &borderValue=morphologyDefaultBorderValue())
 3x3の矩形構造化要素を用いて画像を膨張させる。
 
GMat div (const GMat &src1, const GMat &src2, double scale, int ddepth=-1)
 2つの行列の要素ごとの除算を行う。
 
GMat divC (const GMat &src, const GScalar &divisor, double scale, int ddepth=-1)
 行列をスカラで除算する。
 
GMat divRC (const GScalar &divident, const GMat &src, double scale, int ddepth=-1)
 スカラを行列で除算する。
 
GMat equalizeHist (const GMat &src)
 
GMat erode (const GMat &src, const Mat &kernel, const Point &anchor=Point(-1,-1), int iterations=1, int borderType=BORDER_CONSTANT, const Scalar &borderValue=morphologyDefaultBorderValue())
 特定の構造要素を使って画像を収縮させる。
 
GMat erode3x3 (const GMat &src, int iterations=1, int borderType=BORDER_CONSTANT, const Scalar &borderValue=morphologyDefaultBorderValue())
 3x3の矩形構造化要素を用いて画像を収縮させる。
 
GMat filter2D (const GMat &src, int ddepth, const Mat &kernel, const Point &anchor=Point(-1,-1), const Scalar &delta=Scalar(0), int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 画像をカーネルで畳み込む。
 
GArray< GArray< Point > > findContours (const GMat &src, const RetrievalModes mode, const ContourApproximationModes method)
 
GArray< GArray< Point > > findContours (const GMat &src, const RetrievalModes mode, const ContourApproximationModes method, const GOpaque< Point > &offset)
 2値画像から輪郭を検出する。
 
std::tuple< GArray< GArray< Point > >, GArray< Vec4i > > findContoursH (const GMat &src, const RetrievalModes mode, const ContourApproximationModes method)
 
std::tuple< GArray< GArray< Point > >, GArray< Vec4i > > findContoursH (const GMat &src, const RetrievalModes mode, const ContourApproximationModes method, const GOpaque< Point > &offset)
 2値画像内の輪郭とその階層構造を検出する。
 
GOpaque< Vec4ffitLine2D (const GArray< Point2d > &src, const DistanceTypes distType, const double param=0., const double reps=0., const double aeps=0.)
 
GOpaque< Vec4ffitLine2D (const GArray< Point2f > &src, const DistanceTypes distType, const double param=0., const double reps=0., const double aeps=0.)
 
GOpaque< Vec4ffitLine2D (const GArray< Point2i > &src, const DistanceTypes distType, const double param=0., const double reps=0., const double aeps=0.)
 
GOpaque< Vec4ffitLine2D (const GMat &src, const DistanceTypes distType, const double param=0., const double reps=0., const double aeps=0.)
 2D点集合に直線を当てはめる。
 
GOpaque< Vec6ffitLine3D (const GArray< Point3d > &src, const DistanceTypes distType, const double param=0., const double reps=0., const double aeps=0.)
 
GOpaque< Vec6ffitLine3D (const GArray< Point3f > &src, const DistanceTypes distType, const double param=0., const double reps=0., const double aeps=0.)
 
GOpaque< Vec6ffitLine3D (const GArray< Point3i > &src, const DistanceTypes distType, const double param=0., const double reps=0., const double aeps=0.)
 
GOpaque< Vec6ffitLine3D (const GMat &src, const DistanceTypes distType, const double param=0., const double reps=0., const double aeps=0.)
 3D点集合に直線を当てはめる。
 
GMat flip (const GMat &src, int flipCode)
 2D行列を垂直軸、水平軸、またはその両方を中心に反転する。
 
GMat gaussianBlur (const GMat &src, const Size &ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 ガウシアンフィルタを使って画像を平滑化する。
 
template<typename T >
cv::util::optional< T > getCompileArg (const cv::GCompileArgs &args)
 cv::GCompileArgs から型を指定して特定のコンパイル引数を取得する。
 
GArray< Point2fgoodFeaturesToTrack (const GMat &image, int maxCorners, double qualityLevel, double minDistance, const Mat &mask=Mat(), int blockSize=3, bool useHarrisDetector=false, double k=0.04)
 画像上の強いコーナーを決定する。
 
GMat I4202BGR (const GMat &src)
 画像をI420色空間からBGR色空間へ変換する。
 
GMat I4202RGB (const GMat &src)
 画像をI420色空間からBGR色空間へ変換する。
 
template<typename Net , typename... Args>
Net::Result infer (Args &&... args)
 入力データに対し、指定したネットワーク(テンプレート引数)のレスポンスを計算する。
 
template<typename T = Generic>
cv::GInferListOutputs infer (const std::string &tag, const cv::GArray< cv::Rect > &rois, const cv::GInferInputs &inputs)
 ソース画像内のすべての領域に対し、指定したネットワークのレスポンスを計算する。
 
template<typename T = Generic>
cv::GInferOutputs infer (const std::string &tag, const cv::GInferInputs &inputs)
 汎用ネットワークのレスポンスを計算する。
 
template<typename T = Generic>
cv::GInferOutputs infer (const std::string &tag, const cv::GOpaque< cv::Rect > &roi, const cv::GInferInputs &inputs)
 ソース画像内の指定領域に対し、汎用ネットワークのレスポンスを計算する。現状では単一入力ネットワークのみを想定している。
 
template<typename Net , typename... Args>
Net::ResultL infer (cv::GArray< cv::Rect > roi, Args &&... args)
 ソース画像内のすべての領域に対し、指定したネットワーク(テンプレート引数)のレスポンスを計算する。
 
template<typename Net , typename T >
Net::Result infer (cv::GOpaque< cv::Rect > roi, T in)
 ソース画像内の指定領域に対し、指定したネットワーク(テンプレート引数)のレスポンスを計算する。現状では単一入力ネットワークのみを想定している。
 
template<typename T = Generic, typename Input >
std::enable_if< cv::detail::accepted_infer_types< Input >::value, cv::GInferListOutputs >::type infer2 (const std::string &tag, const Input &in, const cv::GInferListInputs &inputs)
 ソース画像内のすべての領域に対し、指定したネットワークのレスポンスを計算する(拡張版)。
 
template<typename Net , typename T , typename... Args>
Net::ResultL infer2 (T image, cv::GArray< Args >... args)
 ソース画像内のすべての領域に対し、指定したネットワーク(テンプレート引数)のレスポンスを計算する(拡張版)。
 
GMat inRange (const GMat &src, const GScalar &threshLow, const GScalar &threshUp)
 各行列要素に範囲レベルのしきい値処理を適用する。
 
std::tuple< GMat, GMatintegral (const GMat &src, int sdepth=-1, int sqdepth=-1)
 画像の積分を計算する。
 
void island (const std::string &name, GProtoInputArgs &&ins, GProtoOutputArgs &&outs)
 計算内にタグ付きのアイランド(サブグラフ)を定義する。
 
GMat KalmanFilter (const GMat &measurement, const GOpaque< bool > &haveMeasurement, const cv::gapi::KalmanParams &kfParams)
 
GMat KalmanFilter (const GMat &measurement, const GOpaque< bool > &haveMeasurement, const GMat &control, const cv::gapi::KalmanParams &kfParams)
 標準的なカルマンフィルタアルゴリズム http://en.wikipedia.org/wiki/Kalman_filter
 
template<typename... KK>
GKernelPackage kernels ()
 可変長テンプレート引数で指定したカーネルと変換を含むカーネルパッケージオブジェクトを生成する。
 
template<typename... FF>
GKernelPackage kernels (FF &... functors)
 
std::tuple< GOpaque< double >, GArray< int >, GArray< Point2f > > kmeans (const GArray< Point2f > &data, const int K, const GArray< int > &bestLabels, const TermCriteria &criteria, const int attempts, const KmeansFlags flags)
 
std::tuple< GOpaque< double >, GArray< int >, GArray< Point3f > > kmeans (const GArray< Point3f > &data, const int K, const GArray< int > &bestLabels, const TermCriteria &criteria, const int attempts, const KmeansFlags flags)
 
std::tuple< GOpaque< double >, GMat, GMatkmeans (const GMat &data, const int K, const GMat &bestLabels, const TermCriteria &criteria, const int attempts, const KmeansFlags flags)
 クラスタの中心を見つけ、入力サンプルをクラスタの周りにグループ化する。
 
std::tuple< GOpaque< double >, GMat, GMatkmeans (const GMat &data, const int K, const TermCriteria &criteria, const int attempts, const KmeansFlags flags)
 
GMat Laplacian (const GMat &src, int ddepth, int ksize=1, double scale=1, double delta=0, int borderType=BORDER_DEFAULT)
 画像のラプラシアンを計算する。
 
GMat LUT (const GMat &src, const Mat &lut)
 行列に対してルックアップテーブル変換を行う。
 
GMat LUV2BGR (const GMat &src)
 画像をLUV色空間からBGR色空間へ変換する。
 
GMat mask (const GMat &src, const GMat &mask)
 行列にマスクを適用する。
 
GMat max (const GMat &src1, const GMat &src2)
 2つの行列の要素ごとの最大値を計算する。
 
GScalar mean (const GMat &src)
 行列要素の平均(平均値)を計算する。
 
GMat medianBlur (const GMat &src, int ksize)
 メディアンフィルタを使って画像を平滑化する。
 
GMat merge3 (const GMat &src1, const GMat &src2, const GMat &src3)
 3つのシングルチャンネル行列から1つの3チャンネル行列を生成する。
 
GMat merge4 (const GMat &src1, const GMat &src2, const GMat &src3, const GMat &src4)
 4つのシングルチャンネル行列から1つの4チャンネル行列を生成する。
 
GMat min (const GMat &src1, const GMat &src2)
 2つの行列の要素ごとの最小値を計算する。
 
GMat morphologyEx (const GMat &src, const MorphTypes op, const Mat &kernel, const Point &anchor=Point(-1,-1), const int iterations=1, const BorderTypes borderType=BORDER_CONSTANT, const Scalar &borderValue=morphologyDefaultBorderValue())
 高度なモルフォロジー変換を実行する。
 
GMat mul (const GMat &src1, const GMat &src2, double scale=1.0, int ddepth=-1)
 2つの行列の要素ごとのスケール積を計算する。
 
GMat mulC (const GMat &src, const GScalar &multiplier, int ddepth=-1)
 これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは受け取る引数のみが異なる。
 
GMat mulC (const GMat &src, double multiplier, int ddepth=-1)
 行列にスカラを乗算する。
 
GMat mulC (const GScalar &multiplier, const GMat &src, int ddepth=-1)
 これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは受け取る引数のみが異なる。
 
template<typename... Args>
cv::gapi::GNetPackage networks (Args &&... args)
 
GMat normalize (const GMat &src, double alpha, double beta, int norm_type, int ddepth=-1)
 配列のノルムまたは値の範囲を正規化する。
 
GScalar normInf (const GMat &src)
 行列の絶対無限大ノルムを計算する。
 
GScalar normL1 (const GMat &src)
 行列の絶対 L1 ノルムを計算する。
 
GScalar normL2 (const GMat &src)
 行列の絶対 L2 ノルムを計算する。
 
GMat NV12toBGR (const GMat &src_y, const GMat &src_uv)
 画像をNV12 (YUV420p)色空間からBGRへ変換する。この関数は入力画像をNV12色空間からRGBへ変換する。Y、U、Vチャンネル値の一般的な範囲は0から255である。
 
GMatP NV12toBGRp (const GMat &src_y, const GMat &src_uv)
 画像をNV12 (YUV420p)色空間からBGRへ変換する。この関数は入力画像をNV12色空間からBGRへ変換する。Y、U、Vチャンネル値の一般的な範囲は0から255である。
 
GMat NV12toGray (const GMat &src_y, const GMat &src_uv)
 画像をNV12 (YUV420p)色空間からグレースケールへ変換する。この関数は入力画像をNV12色空間からグレースケールへ変換する。Y、U、Vチャンネル値の一般的な範囲は0から255である。
 
GMat NV12toRGB (const GMat &src_y, const GMat &src_uv)
 画像をNV12 (YUV420p)色空間からRGBへ変換する。この関数は入力画像をNV12色空間からRGBへ変換する。Y、U、Vチャンネル値の一般的な範囲は0から255である。
 
GMatP NV12toRGBp (const GMat &src_y, const GMat &src_uv)
 画像をNV12 (YUV420p)色空間からRGBへ変換する。この関数は入力画像をNV12色空間からRGBへ変換する。Y、U、Vチャンネル値の一般的な範囲は0から255である。
 
bool operator!= (const GBackend &lhs, const GBackend &rhs)
 
cv::gapi::GNetPackageoperator+= (cv::gapi::GNetPackage &lhs, const cv::gapi::GNetPackage &rhs)
 
GArray< RectparseSSD (const GMat &in, const GOpaque< Size > &inSz, const float confidenceThreshold, const bool alignmentToSquare, const bool filterOutOfBounds)
 SSDネットワークの出力を解析する。
 
std::tuple< GArray< Rect >, GArray< int > > parseSSD (const GMat &in, const GOpaque< Size > &inSz, const float confidenceThreshold=0.5f, const int filterLabel=-1)
 SSDネットワークの出力を解析する。
 
std::tuple< GArray< Rect >, GArray< int > > parseYolo (const GMat &in, const GOpaque< Size > &inSz, const float confidenceThreshold=0.5f, const float nmsThreshold=0.5f, const std::vector< float > &anchors=nn::parsers::GParseYolo::defaultAnchors())
 Yoloネットワークの出力を解析する。
 
GMat phase (const GMat &x, const GMat &y, bool angleInDegrees=false)
 2次元ベクトルの回転角を計算する。
 
std::tuple< GMat, GMatpolarToCart (const GMat &magnitude, const GMat &angle, bool angleInDegrees=false)
 大きさと角度から2次元ベクトルのx座標とy座標を計算する。
 
GMat remap (const GMat &src, const Mat &map1, const Mat &map2, int interpolation, int borderMode=BORDER_CONSTANT, const Scalar &borderValue=Scalar())
 画像に汎用的な幾何学的変換を適用する。
 
GMat resize (const GMat &src, const Size &dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR)
 画像をリサイズする。
 
GMatP resizeP (const GMatP &src, const Size &dsize, int interpolation=cv::INTER_LINEAR)
 プレーナ形式の画像をリサイズする。
 
GMat RGB2Gray (const GMat &src)
 画像をRGB色空間からグレースケールへ変換する。
 
GMat RGB2Gray (const GMat &src, float rY, float gY, float bY)
 
GMat RGB2HSV (const GMat &src)
 画像をRGB色空間からHSVへ変換する。この関数は入力画像をRGB色空間からHSVへ変換する。R、G、Bチャンネル値の一般的な範囲は0から255である。
 
GMat RGB2I420 (const GMat &src)
 画像をRGB色空間からI420色空間へ変換する。
 
GMat RGB2Lab (const GMat &src)
 画像をRGB色空間からLab色空間へ変換する。
 
GMat RGB2YUV (const GMat &src)
 画像をRGB色空間からYUV色空間へ変換する。
 
GMat RGB2YUV422 (const GMat &src)
 画像をRGB色空間からYUV422へ変換する。この関数は入力画像をRGB色空間からYUV422へ変換する。R、G、Bチャンネル値の一般的な範囲は0から255である。
 
GMat select (const GMat &src1, const GMat &src2, const GMat &mask)
 与えられたマスクに基づいて、2つの入力行列のいずれかから値を選択する。この関数は、マスク行列の対応する値が255であれば1つ目の入力行列の値を、(マスク行列の値が0に設定されていれば)2つ目の入力行列の値を出力行列に設定する。
 
GMat sepFilter (const GMat &src, int ddepth, const Mat &kernelX, const Mat &kernelY, const Point &anchor, const Scalar &delta, int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 行列(画像)に分離可能な線形フィルタを適用する。
 
std::vector< char > serialize (const cv::GCompileArgs &ca)
 
std::vector< char > serialize (const cv::GComputation &c)
 GComputation で表現されたグラフをバイト配列にシリアライズする。
 
std::vector< char > serialize (const cv::GMetaArgs &ma)
 
std::vector< char > serialize (const cv::GRunArgs &ra)
 
std::vector< char > serialize (const std::vector< std::string > &vs)
 
GMat Sobel (const GMat &src, int ddepth, int dx, int dy, int ksize=3, double scale=1, double delta=0, int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 拡張Sobel演算子を使って1次、2次、3次、または混合の画像微分を計算する。
 
std::tuple< GMat, GMatSobelXY (const GMat &src, int ddepth, int order, int ksize=3, double scale=1, double delta=0, int borderType=BORDER_DEFAULT, const Scalar &borderValue=Scalar(0))
 拡張Sobel演算子を使って1次、2次、3次、または混合の画像微分を計算する。
 
std::tuple< GMat, GMat, GMatsplit3 (const GMat &src)
 3チャンネル行列を3つのシングルチャンネル行列に分割する。
 
std::tuple< GMat, GMat, GMat, GMatsplit4 (const GMat &src)
 4チャンネル行列を4つのシングルチャンネル行列に分割する。
 
GMat sqrt (const GMat &src)
 配列要素の平方根を計算する。
 
GMat stereo (const GMat &left, const GMat &right, const StereoOutputFormat of=StereoOutputFormat::DEPTH_FLOAT32)
 指定したステレオペアに対して視差/深度マップを計算する。この関数は渡されたStereoOutputFormat引数に応じて視差マップまたは深度マップを計算する。
 
GMat sub (const GMat &src1, const GMat &src2, int ddepth=-1)
 2つの行列の要素ごとの差を計算する。
 
GMat subC (const GMat &src, const GScalar &c, int ddepth=-1)
 行列と指定したスカラの要素ごとの差を計算する。
 
GMat subRC (const GScalar &c, const GMat &src, int ddepth=-1)
 指定したスカラと行列の要素ごとの差を計算する。
 
GScalar sum (const GMat &src)
 全行列要素の合計を計算する。
 
std::tuple< GMat, GScalarthreshold (const GMat &src, const GScalar &maxval, int type)
 
GMat threshold (const GMat &src, const GScalar &thresh, const GScalar &maxval, int type)
 各行列要素に固定レベルのしきい値処理を適用する。
 
GMat transpose (const GMat &src)
 行列を転置する。
 
GMat warpAffine (const GMat &src, const Mat &M, const Size &dsize, int flags=cv::INTER_LINEAR, int borderMode=cv::BORDER_CONSTANT, const Scalar &borderValue=Scalar())
 画像にアフィン変換を適用する。
 
GMat warpPerspective (const GMat &src, const Mat &M, const Size &dsize, int flags=cv::INTER_LINEAR, int borderMode=cv::BORDER_CONSTANT, const Scalar &borderValue=Scalar())
 画像に透視変換を適用する。
 
GMat YUV2BGR (const GMat &src)
 画像をYUV色空間からBGR色空間へ変換する。
 
GMat YUV2RGB (const GMat &src)
 画像をYUV色空間からRGBへ変換する。この関数は入力画像をYUV色空間からRGBへ変換する。Y、U、Vチャンネル値の一般的な範囲は0から255である。
 

型定義詳解

◆ GKernelPackage

列挙型詳解

◆ StereoOutputFormat

enum class cv::gapi::StereoOutputFormat
strong

cv::gapi::stereoから得られる結果のフォーマットを指定するenum。

列挙値
DEPTH_FLOAT16 

浮動小数点16ビット値、CV_16FC1。この識別子は非推奨であり、代わりに DEPTH_16F を使用すること。

DEPTH_FLOAT32 

浮動小数点32ビット値、CV_32FC1。この識別子は非推奨であり、代わりに DEPTH_16F を使用すること。

DISPARITY_FIXED16_11_5 

16ビット符号付き: 1ビット目が符号、10ビットが整数部、5ビットが小数部。この識別子は非推奨であり、代わりに DISPARITY_16Q_10_5 を使用すること。

DISPARITY_FIXED16_12_4 

16ビット符号付き: 1ビット目が符号、11ビットが整数部、4ビットが小数部。この識別子は非推奨であり、代わりに DISPARITY_16Q_11_4 を使用すること。

DEPTH_16F 

DEPTH_FLOAT16 と同じ。

DEPTH_32F 

DEPTH_FLOAT32 と同じ。

DISPARITY_16Q_10_5 

DISPARITY_FIXED16_11_5 と同じ。

DISPARITY_16Q_11_4 

DISPARITY_FIXED16_12_4 と同じ。

関数詳解

◆ combine() [1/2]

template<typename... Ps>
cv::GKernelPackage cv::gapi::combine ( const cv::GKernelPackage & a,
const cv::GKernelPackage & b,
Ps &&... rest )
Python:
cv.gapi.combine(lhs, rhs) -> retval

複数のG-APIカーネルパッケージを1つに統合する。

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

この関数は、渡されたカーネルパッケージを右畳み込みで順次統合する。combine(a, b, c)の呼び出しはcombine(a, combine(b, c))と等価である。

戻り値
統合後のカーネルパッケージ
この関数の呼び出しグラフ:

◆ combine() [2/2]

cv::GKernelPackage cv::gapi::combine ( const cv::GKernelPackage & lhs,
const cv::GKernelPackage & rhs )
Python:
cv.gapi.combine(lhs, rhs) -> retval

◆ deserialize() [1/3]

template<>
cv::GMetaArgs cv::gapi::deserialize ( const std::vector< char > & bytes)
inline

バイト配列からGMetaArgsをデシリアライズする。

さらに多くの例については別のオーバーロードを確認すること。

引数
bytesシリアライズされたバイト列のベクトル。
戻り値
デシリアライズされたGMetaArgsオブジェクト。

◆ deserialize() [2/3]

template<>
cv::GRunArgs cv::gapi::deserialize ( const std::vector< char > & bytes)
inline

バイト配列からGRunArgsをデシリアライズする。

さらに多くの例については別のオーバーロードを確認すること。

引数
bytesシリアライズされたバイト列のベクトル。
戻り値
デシリアライズされたGRunArgsオブジェクト。

◆ deserialize() [3/3]

template<>
std::vector< std::string > cv::gapi::deserialize ( const std::vector< char > & bytes)
inline

バイト配列からstd::vector<std::string>をデシリアライズする。

さらに多くの例については別のオーバーロードを確認すること。

引数
bytesシリアライズされたバイト列のベクトル。
戻り値
デシリアライズされた std::vector<std::string> オブジェクト。

◆ equalizeHist()

GMat cv::gapi::equalizeHist ( const GMat & src)
Python:
cv.gapi.equalizeHist(src) -> retval

gapi_feature

この関数は次のアルゴリズムを用いて入力画像のヒストグラムを均一化する:

  • src に対するヒストグラム \(H\) を計算する。
  • ヒストグラムのビンの総和が255になるようにヒストグラムを正規化する。
  • Compute the integral of the histogram:

    \[H'_i = \sum _{0 \le j < i} H(j)\]

  • \(H'\) をルックアップテーブルとして用いて画像を変換する: \(\texttt{dst}(x,y) = H'(\texttt{src}(x,y))\)

このアルゴリズムは画像の明るさを正規化し、コントラストを高める。

覚え書き
  • 返される画像は入力と同じサイズおよび型である。
  • 関数のテキスト識別子は "org.opencv.imgproc.equalizeHist" である
引数
src8ビットのシングルチャンネル元画像。

◆ getCompileArg()

template<typename T >
cv::util::optional< T > cv::gapi::getCompileArg ( const cv::GCompileArgs & args)
inline

特定のコンパイル引数を、その型をもとに cv::GCompileArgs から取得する。

◆ infer() [1/6]

template<typename Net , typename... Args>
Net::Result cv::gapi::infer ( Args &&... args)
Python:
cv.gapi.infer(name, inputs) -> retval
cv.gapi.infer(name, roi, inputs) -> retval
cv.gapi.infer(name, rois, inputs) -> retval

入力データが与えられたとき、指定されたネットワーク(テンプレート引数)に対する応答を計算する。

テンプレート引数
Anetwork type defined with G_API_NET() macro.
引数
argsG_API_NET() マクロで指定されるネットワークの入力引数。
戻り値
G_API_NET() で定義された戻り値型のオブジェクト。ネットワークが複数の戻り値(タプルで定義される)を持つ場合は、適切な型のオブジェクトのタプルが返される。
参照
G_API_NET()

◆ infer() [2/6]

template<typename T = Generic>
cv::GInferListOutputs cv::gapi::infer ( const std::string & tag,
const cv::GArray< cv::Rect > & rois,
const cv::GInferInputs & inputs )
Python:
cv.gapi.infer(name, inputs) -> retval
cv.gapi.infer(name, roi, inputs) -> retval
cv.gapi.infer(name, rois, inputs) -> retval

元画像中のすべての領域について、指定されたネットワークの応答を計算する。

引数
tagネットワークタグ
rois元画像中の関心領域を表す矩形のリスト。通常は物体検出器やトラッカーの出力。
inputsネットワークの入力
戻り値
a cv::GInferListOutputs
この関数の呼び出しグラフ:

◆ infer() [3/6]

template<typename T = Generic>
cv::GInferOutputs cv::gapi::infer ( const std::string & tag,
const cv::GInferInputs & inputs )
Python:
cv.gapi.infer(name, inputs) -> retval
cv.gapi.infer(name, roi, inputs) -> retval
cv.gapi.infer(name, rois, inputs) -> retval

汎用ネットワークに対する応答を計算する。

引数
tagネットワークタグ
inputsネットワークの入力
戻り値
GInferOutputs
この関数の呼び出しグラフ:

◆ infer() [4/6]

template<typename T = Generic>
cv::GInferOutputs cv::gapi::infer ( const std::string & tag,
const cv::GOpaque< cv::Rect > & roi,
const cv::GInferInputs & inputs )
Python:
cv.gapi.infer(name, inputs) -> retval
cv.gapi.infer(name, roi, inputs) -> retval
cv.gapi.infer(name, rois, inputs) -> retval

元画像中の指定された領域について、汎用ネットワークの応答を計算する。現在はシングル入力ネットワークのみを想定している。

引数
tagネットワークタグ
roi元画像中の関心領域を表すオブジェクト。同じグラフ内で動的に計算される場合もある。
inputsネットワークの入力
戻り値
a cv::GInferOutputs
この関数の呼び出しグラフ:

◆ infer() [5/6]

template<typename Net , typename... Args>
Net::ResultL cv::gapi::infer ( cv::GArray< cv::Rect > roi,
Args &&... args )
Python:
cv.gapi.infer(name, inputs) -> retval
cv.gapi.infer(name, roi, inputs) -> retval
cv.gapi.infer(name, rois, inputs) -> retval

元画像中のすべての領域について、指定されたネットワーク(テンプレート引数)の応答を計算する。

テンプレート引数
Anetwork type defined with G_API_NET() macro.
引数
roi元画像中の関心領域を表す矩形のリスト。通常は物体検出器やトラッカーの出力。
argsG_API_NET() マクロで指定されるネットワークの入力引数。注意: 入力が1つのトポロジーでのみ確実に動作することが確認されている。
戻り値
G_API_NET() で定義された戻り値型のオブジェクトのリスト。ネットワークが複数の戻り値(タプルで定義される)を持つ場合は、内部に適切な型を含む GArray<> オブジェクトのタプルが返される。
参照
G_API_NET()

◆ infer() [6/6]

template<typename Net , typename T >
Net::Result cv::gapi::infer ( cv::GOpaque< cv::Rect > roi,
T in )
Python:
cv.gapi.infer(name, inputs) -> retval
cv.gapi.infer(name, roi, inputs) -> retval
cv.gapi.infer(name, rois, inputs) -> retval

元画像中の指定された領域について、指定されたネットワーク(テンプレート引数)の応答を計算する。現在はシングル入力ネットワークのみを想定している。

テンプレート引数
Anetwork type defined with G_API_NET() macro.
引数
inROIを切り出す元の入力画像。
roi元画像中の関心領域を表すオブジェクト。同じグラフ内で動的に計算される場合もある。
戻り値
G_API_NET() で定義された戻り値型のオブジェクト。ネットワークが複数の戻り値(タプルで定義される)を持つ場合は、適切な型のオブジェクトのタプルが返される。
参照
G_API_NET()

◆ infer2() [1/2]

template<typename T = Generic, typename Input >
std::enable_if< cv::detail::accepted_infer_types< Input >::value, cv::GInferListOutputs >::type cv::gapi::infer2 ( const std::string & tag,
const Input & in,
const cv::GInferListInputs & inputs )
Python:
cv.gapi.infer2(name, in_, inputs) -> retval

元画像中のすべての領域について、指定されたネットワークの応答を計算する(拡張版)。

引数
tagネットワークタグ
in関心領域を含む元画像。
inputsネットワークの入力
戻り値
a cv::GInferListOutputs
この関数の呼び出しグラフ:

◆ infer2() [2/2]

template<typename Net , typename T , typename... Args>
Net::ResultL cv::gapi::infer2 ( T image,
cv::GArray< Args >... args )
Python:
cv.gapi.infer2(name, in_, inputs) -> retval

元画像中のすべての領域について、指定されたネットワーク(テンプレート引数)の応答を計算する(拡張版)。

テンプレート引数
Anetwork type defined with G_API_NET() macro.
引数
image関心領域を含む元画像
argsネットワーク入力ごとに1つの、cv::Rect または cv::GMat のGArray<>オブジェクト:
  • cv::GArray<cv::Rect> が渡された場合、対応する領域が image から切り出され、その特定のネットワーク入力向けに前処理される。
  • cv::GArray<cv::GMat> が渡された場合、内部データはテンソルとして扱われる(自動的な前処理は行われない)。
戻り値
G_API_NET() で定義された戻り値型のオブジェクトのリスト。ネットワークが複数の戻り値(タプルで定義される)を持つ場合は、内部に適切な型を含む GArray<> オブジェクトのタプルが返される。
参照
G_API_NET()

◆ island()

void cv::gapi::island ( const std::string & name,
GProtoInputArgs && ins,
GProtoOutputArgs && outs )

計算内にタグ付きアイランド(サブグラフ)を定義する。

name でタグ付けされ、ins から outs まで(両端を除く。ins/outs はデータオブジェクトであり、領域分けは演算レベルで行われるため)定義されるアイランドを宣言する。insouts の間にある演算がすでに別のアイランドに割り当てられている場合は例外を投げる。

アイランドを用いるとグラフをサブグラフに分割でき、基盤となるエグゼキュータによるスケジューリング方法を細かく調整できる。

引数
name作成するIslandの名前
insサブグラフが始まる入力データオブジェクトのベクトル
outsサブグラフが終わる出力データオブジェクトのベクトル。

アイランドの定義方法は、cv::GComputation が入力/出力データオブジェクト上で定義される方法と同様である。ここでも同じ規則が適用される。すなわち、入力と出力の間に機能的な依存関係がない場合、またはすべての出力を正しく計算するのに十分な入力データオブジェクトが指定されていない場合は、例外が投げられる。

入力/出力ベクトルを指定するには cv::GIn() / cv::GOut() を使用する。

◆ kmeans() [1/4]

std::tuple< GOpaque< double >, GArray< int >, GArray< Point2f > > cv::gapi::kmeans ( const GArray< Point2f > & data,
const int K,
const GArray< int > & bestLabels,
const TermCriteria & criteria,
const int attempts,
const KmeansFlags flags )
Python:
cv.gapi.kmeans(data, K, bestLabels, criteria, attempts, flags) -> retval
cv.gapi.kmeans(data, K, criteria, attempts, flags) -> retval

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

覚え書き
関数のテキスト識別子は "org.opencv.core.kmeans2D" である

◆ kmeans() [2/4]

std::tuple< GOpaque< double >, GArray< int >, GArray< Point3f > > cv::gapi::kmeans ( const GArray< Point3f > & data,
const int K,
const GArray< int > & bestLabels,
const TermCriteria & criteria,
const int attempts,
const KmeansFlags flags )
Python:
cv.gapi.kmeans(data, K, bestLabels, criteria, attempts, flags) -> retval
cv.gapi.kmeans(data, K, criteria, attempts, flags) -> retval

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

覚え書き
関数のテキスト識別子は "org.opencv.core.kmeans3D" である

◆ kmeans() [3/4]

std::tuple< GOpaque< double >, GMat, GMat > cv::gapi::kmeans ( const GMat & data,
const int K,
const GMat & bestLabels,
const TermCriteria & criteria,
const int attempts,
const KmeansFlags flags )
Python:
cv.gapi.kmeans(data, K, bestLabels, criteria, attempts, flags) -> retval
cv.gapi.kmeans(data, K, criteria, attempts, flags) -> retval

クラスタの中心を求め、入力サンプルをクラスタの周囲にグループ化する。

関数 kmeans は、K個のクラスタの中心を求めて入力サンプルをクラスタの周囲にグループ化する k-means アルゴリズムを実装する。出力として、\(\texttt{bestLabels}_i\) には \(i^{th}\) サンプルに対する0始まりのクラスタインデックスが格納される。

覚え書き
  • 関数のテキスト識別子は "org.opencv.core.kmeansND" である
  • N次元の点集合が与えられた場合、入力 GMat は次の特性を持つことができる: 2次元で、Nチャンネルの場合は単一の行または列、もしくはシングルチャンネルの場合はN列。MatCV_32F のビット深度を持つ必要がある。
  • ただし、データとして height != 1、width != 1、channels != 1 の GMat が与えられた場合、N次元のサンプルがA個与えられたとみなされる。ここで A = height、n = width * channels である。
  • In case of GMat given as data:
    • 出力ラベルは、サイズが width = 1、height = A のシングルチャンネル GMat として返される。ここで A はサンプル数である。bestLabels が与えられた場合は width = bestLabels.width、height = bestLabels.height となる;
    • クラスタ中心は、サイズが width = n、height = K のシングルチャンネル GMat として返される。ここで n はサンプルの次元数、K はクラスタ数である。
  • 利用方法の一例として、各試行の初期ラベルを自分で制御したい場合は、この関数のコア部分だけを利用できる。そのためには、試行回数を1に設定し、毎回カスタムアルゴリズムでラベルを初期化し、( flags = KMEANS_USE_INITIAL_LABELS ) フラグとともに渡し、その後で最良の(最もコンパクトな)クラスタリングを選択すればよい。
引数
dataクラスタリング対象のデータ。float座標を持つN次元の点の配列が必要である。この関数は2次元・3次元の場合はGArray<Point2f>、GArray<Point3f> を、任意の次元・チャンネルの場合は GMat を受け取れる。
K集合を分割するクラスタ数。
bestLabels各サンプルの想定される初期クラスタインデックスを格納できる、省略可能な入力整数配列。( flags = KMEANS_USE_INITIAL_LABELS ) フラグが設定されているときに使用される。
criteriaアルゴリズムの終了条件、すなわち最大反復回数および/または希望する精度。精度は criteria.epsilon として指定する。ある反復で各クラスタ中心の移動量が criteria.epsilon 未満になった時点で、アルゴリズムは停止する。
attempts異なる初期ラベル付けを用いてアルゴリズムを実行する回数を指定するフラグ。アルゴリズムは最良のコンパクトさをもたらすラベルを返す(1つ目の関数の戻り値を参照)。
flagscv::KmeansFlags の値を取ることができるフラグ。
戻り値
  • Compactness measure that is computed as

    \[\sum _i \| \texttt{samples} _i - \texttt{centers} _{ \texttt{labels} _i} \| ^2\]

    after every attempt. The best (minimum) value is chosen and the corresponding labels and the compactness value are returned by the function.
  • 各サンプルのクラスタインデックスを格納する整数配列。
  • クラスタ中心の配列。

◆ kmeans() [4/4]

std::tuple< GOpaque< double >, GMat, GMat > cv::gapi::kmeans ( const GMat & data,
const int K,
const TermCriteria & criteria,
const int attempts,
const KmeansFlags flags )
Python:
cv.gapi.kmeans(data, K, bestLabels, criteria, attempts, flags) -> retval
cv.gapi.kmeans(data, K, criteria, attempts, flags) -> retval

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

覚え書き
  • 関数のテキスト識別子は "org.opencv.core.kmeansNDNoInit" である
  • このオーバーロードを使用する際は、KMEANS_USE_INITIAL_LABELS フラグを設定してはならない。

◆ networks()

template<typename... Args>
cv::gapi::GNetPackage cv::gapi::networks ( Args &&... args)
この関数の呼び出しグラフ:

◆ operator!=()

bool cv::gapi::operator!= ( const GBackend & lhs,
const GBackend & rhs )
inline

◆ operator+=()

cv::gapi::GNetPackage & cv::gapi::operator+= ( cv::gapi::GNetPackage & lhs,
const cv::gapi::GNetPackage & rhs )
inline

◆ parseSSD() [1/2]

GArray< Rect > cv::gapi::parseSSD ( const GMat & in,
const GOpaque< Size > & inSz,
const float confidenceThreshold,
const bool alignmentToSquare,
const bool filterOutOfBounds )
Python:
cv.gapi.parseSSD(in_, inSz[, confidenceThreshold[, filterLabel]]) -> retval
cv.gapi.parseSSD(in_, inSz, confidenceThreshold, alignmentToSquare, filterOutOfBounds) -> retval

SSDネットワークの出力をパースする。

SSDの出力から検出情報(ボックス、信頼度)を抽出し、与えられた信頼度および境界外への逸脱によってフィルタリングする。

覚え書き
関数のテキスト識別子は "org.opencv.nn.parsers.parseSSD" である
引数
in{1,1,N,7} 次元を持つ入力 CV_32F テンソル。
inSz検出されたボックスを射影する先のサイズ(入力画像のサイズ)。
confidenceThreshold検出の信頼度が信頼度しきい値より小さい場合、その検出は棄却される。
alignmentToSquaretrue を指定すると、バウンディングボックスは正方形に拡張される。矩形の中心は変わらず、正方形の辺は矩形の長辺となる。
filterOutOfBoundstrue を指定すると、フレーム外のボックスがフィルタで除外される。
戻り値
検出されたバウンディングボックスのベクトル。

◆ parseSSD() [2/2]

std::tuple< GArray< Rect >, GArray< int > > cv::gapi::parseSSD ( const GMat & in,
const GOpaque< Size > & inSz,
const float confidenceThreshold = 0.5f,
const int filterLabel = -1 )
Python:
cv.gapi.parseSSD(in_, inSz[, confidenceThreshold[, filterLabel]]) -> retval
cv.gapi.parseSSD(in_, inSz, confidenceThreshold, alignmentToSquare, filterOutOfBounds) -> retval

SSDネットワークの出力をパースする。

SSDの出力から検出情報(ボックス、信頼度、ラベル)を抽出し、与えられた信頼度およびラベルによってフィルタリングする。

覚え書き
関数のテキスト識別子は "org.opencv.nn.parsers.parseSSD_BL" である
引数
in{1,1,N,7} 次元を持つ入力 CV_32F テンソル。
inSz検出されたボックスを射影する先のサイズ(入力画像のサイズ)。
confidenceThreshold検出の信頼度が信頼度しきい値より小さい場合、その検出は棄却される。
filterLabel指定された場合 (!= -1)、与えられたラベルを持つ検出のみが出力される。
戻り値
検出されたボックスのベクトルと、対応するラベルのベクトルからなるタプル。

◆ parseYolo()

std::tuple< GArray< Rect >, GArray< int > > cv::gapi::parseYolo ( const GMat & in,
const GOpaque< Size > & inSz,
const float confidenceThreshold = 0.5f,
const float nmsThreshold = 0.5f,
const std::vector< float > & anchors = nn::parsers::GParseYolo::defaultAnchors() )
Python:
cv.gapi.parseYolo(in_, inSz[, confidenceThreshold[, nmsThreshold[, anchors]]]) -> retval

Yoloネットワークの出力をパースする。

Yoloの出力から検出情報(ボックス、信頼度、ラベル)を抽出し、与えられた信頼度でフィルタリングし、重なり合うボックスに対して非最大抑制(non-maximum suppression)を実行する。

覚え書き
関数のテキスト識別子は "org.opencv.nn.parsers.parseYolo" である
引数
in{1,13,13,N} 次元を持つ入力 CV_32F テンソル。N は次を満たす必要がある:

\[\texttt{N} = (\texttt{num_classes} + \texttt{5}) * \texttt{5},\]

ここで num_classes は Yolo ネットワークが学習したクラス数。
inSz検出されたボックスを射影する先のサイズ(入力画像のサイズ)。
confidenceThreshold検出の信頼度が信頼度しきい値より小さい場合、その検出は棄却される。
nmsThresholdより小さい信頼度を持つボックスを棄却するために必要な、ボックス同士の最小相対交差面積を制御する非最大値抑制(Non-maximum suppression)のしきい値。1.f の場合、nms は実行されず、棄却されるボックスはない。
anchorsYolo ネットワークが学習したアンカー。
覚え書き
デフォルトのアンカー値は、Intel Open Model Zoo のドキュメントに記載されている YOLO v2 Tiny 向けに指定されている。
戻り値
検出されたボックスのベクトルと、対応するラベルのベクトルからなるタプル。

◆ stereo()

GMat cv::gapi::stereo ( const GMat & left,
const GMat & right,
const StereoOutputFormat of = StereoOutputFormat::DEPTH_FLOAT32 )

指定されたステレオペアに対して視差/深度マップを計算する。この関数は、渡された StereoOutputFormat 引数に応じて視差マップまたは深度マップを計算する。

引数
leftCV_8UC1 型の8ビットシングルチャンネル左画像。
rightCV_8UC1 型の8ビットシングルチャンネル右画像。
of出力種別(depth か disparity)および対応する型を指定するための enum
この関数の呼び出しグラフ:

◆ transpose()

GMat cv::gapi::transpose ( const GMat & src)
Python:
cv.gapi.transpose(src) -> retval

行列を転置する。

この関数は行列を転置する:

\[\texttt{dst} (i,j) = \texttt{src} (j,i)\]

覚え書き
  • 関数のテキスト識別子は "org.opencv.core.transpose" である
  • 複素行列の場合でも複素共役は行われない。必要であれば別途行うこと。
引数
src入力配列。