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

詳細説明

関数

GMat cv::gapi::absDiff (const GMat &src1, const GMat &src2)
 2つの行列間の要素ごとの絶対差を計算する。
 
GMat cv::gapi::absDiffC (const GMat &src, const GScalar &c)
 行列要素の絶対値を計算する。
 
GMat cv::gapi::addWeighted (const GMat &src1, double alpha, const GMat &src2, double beta, double gamma, int ddepth=-1)
 2つの行列の重み付き和を計算する。
 
GOpaque< int > cv::gapi::countNonZero (const GMat &src)
 非ゼロの配列要素を数える。
 
GMat cv::gapi::inRange (const GMat &src, const GScalar &threshLow, const GScalar &threshUp)
 各行列要素に範囲レベルのしきい値処理を適用する。
 
std::tuple< GMat, GMatcv::gapi::integral (const GMat &src, int sdepth=-1, int sqdepth=-1)
 画像の積分を計算する。
 
GMat cv::gapi::max (const GMat &src1, const GMat &src2)
 2つの行列の要素ごとの最大値を計算する。
 
GMat cv::gapi::min (const GMat &src1, const GMat &src2)
 2つの行列の要素ごとの最小値を計算する。
 
GScalar cv::gapi::normInf (const GMat &src)
 行列の絶対無限大ノルムを計算する。
 
GScalar cv::gapi::normL1 (const GMat &src)
 行列の絶対 L1 ノルムを計算する。
 
GScalar cv::gapi::normL2 (const GMat &src)
 行列の絶対 L2 ノルムを計算する。
 
GScalar cv::gapi::sum (const GMat &src)
 全行列要素の合計を計算する。
 
std::tuple< GMat, GScalarcv::gapi::threshold (const GMat &src, const GScalar &maxval, int type)
 
GMat cv::gapi::threshold (const GMat &src, const GScalar &thresh, const GScalar &maxval, int type)
 各行列要素に固定レベルのしきい値処理を適用する。
 

関数詳解

◆ absDiff()

GMat cv::gapi::absDiff ( const GMat & src1,
const GMat & src2 )
Python:
cv.gapi.absDiff(src1, src2) -> retval

#include <opencv2/gapi/core.hpp>

2つの行列間の要素ごとの絶対差を計算する。

関数 absDiff は同じサイズ・同じビット深度の2つの行列間の絶対差を計算する:

\[\texttt{dst}(I) = \texttt{saturate} (| \texttt{src1}(I) - \texttt{src2}(I)|)\]

ここで I は行列要素の多次元インデックスである。マルチチャンネル行列の場合、各チャンネルは独立して処理される。出力行列は入力行列と同じサイズ・同じビット深度でなければならない。

サポートされる行列のデータ型は CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 である。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.absdiff" である
引数
src11つ目の入力行列。
src22つ目の入力行列。
参照
abs

◆ absDiffC()

GMat cv::gapi::absDiffC ( const GMat & src,
const GScalar & c )
Python:
cv.gapi.absDiffC(src, c) -> retval

#include <opencv2/gapi/core.hpp>

行列要素の絶対値を計算する。

関数 abs は行列要素と指定したスカラー値との絶対差を計算する:

\[\texttt{dst}(I) = \texttt{saturate} (| \texttt{src1}(I) - \texttt{matC}(I)|)\]

ここで matC は指定したスカラー c から構成され、入力行列 src と同じサイズおよびビット深度を持つ。

出力行列は src と同じサイズおよびビット深度でなければならない。

サポートされる行列のデータ型は CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 である。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.absdiffC" である
引数
src入力行列。
c減算するスカラー。
参照
min, max

◆ addWeighted()

GMat cv::gapi::addWeighted ( const GMat & src1,
double alpha,
const GMat & src2,
double beta,
double gamma,
int ddepth = -1 )
Python:
cv.gapi.addWeighted(src1, alpha, src2, beta, gamma[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

2つの行列の重み付き和を計算する。

関数 addWeighted は2つの行列の重み付き和を以下のように計算する:

\[\texttt{dst} (I)= \texttt{saturate} ( \texttt{src1} (I)* \texttt{alpha} + \texttt{src2} (I)* \texttt{beta} + \texttt{gamma} )\]

ここで I は配列要素の多次元インデックスである。マルチチャンネル行列の場合、各チャンネルは独立に処理される。

この関数は行列式で置き換えることができる:

\[\texttt{dst}(I) = \texttt{alpha} * \texttt{src1}(I) - \texttt{beta} * \texttt{src2}(I) + \texttt{gamma} \]

サポートされる行列のデータ型は CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 である。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.addweighted" である
引数
src11つ目の入力行列。
alpha1つ目の行列要素の重み。
src2src1 と同じサイズ・同じチャンネル数の2つ目の入力行列。
beta2つ目の行列要素の重み。
gamma各合計に加算されるスカラー。
ddepth出力行列のビット深度(省略可能)。
参照
add, sub

◆ countNonZero()

GOpaque< int > cv::gapi::countNonZero ( const GMat & src)
Python:
cv.gapi.countNonZero(src) -> retval

#include <opencv2/gapi/core.hpp>

配列の非ゼロ要素を数える。

この関数は src 内の非ゼロ要素の個数を返す:

\[\sum _{I: \; \texttt{src} (I) \ne0 } 1\]

サポートされる行列のデータ型は CV_8UC1, CV_16UC1, CV_16SC1, CV_32FC1 である。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.countNonZero" である
引数
src入力シングルチャンネル行列。
参照
mean, min, max

◆ inRange()

GMat cv::gapi::inRange ( const GMat & src,
const GScalar & threshLow,
const GScalar & threshUp )
Python:
cv.gapi.inRange(src, threshLow, threshUp) -> retval

#include <opencv2/gapi/core.hpp>

各行列要素に範囲レベルのしきい値処理を適用する。

この関数はシングルチャンネルまたはマルチチャンネルの行列に範囲レベルのしきい値処理を適用する。入力行列の対応するピクセル値が指定範囲内にある場合は出力ピクセル値を OxFF に設定し、そうでない場合は 0 に設定する。

入力行列および出力行列は CV_8UC1 でなければならない。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.inRange" である
引数
src入力行列 (CV_8UC1)。
threshLow下限値。
threshUp上限値。
参照
threshold

◆ integral()

std::tuple< GMat, GMat > cv::gapi::integral ( const GMat & src,
int sdepth = -1,
int sqdepth = -1 )
Python:
cv.gapi.integral(src[, sdepth[, sqdepth]]) -> retval

#include <opencv2/gapi/core.hpp>

画像の積分を計算する。

この関数は元画像に対して1つ以上の積分画像を以下のように計算する:

\[\texttt{sum} (X,Y) = \sum _{x<X,y<Y} \texttt{image} (x,y)\]

\[\texttt{sqsum} (X,Y) = \sum _{x<X,y<Y} \texttt{image} (x,y)^2\]

この関数は積分画像を \((W+1)\times (H+1)\) の32ビット整数または浮動小数点(32fまたは64f)として返し、さらにピクセル値の二乗に対する積分画像を返す。これは \((W+1)\times (H+)\) の倍精度浮動小数点(64f)配列である。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.integral" である
引数
src入力画像。
sdepth積分画像および傾斜積分画像の希望するビット深度。CV_32S, CV_32F, または CV_64F。
sqdepthピクセル値の2乗の積分画像の希望するビット深度。CV_32F または CV_64F。

◆ max()

GMat cv::gapi::max ( const GMat & src1,
const GMat & src2 )
Python:
cv.gapi.max(src1, src2) -> retval

#include <opencv2/gapi/core.hpp>

2つの行列の要素ごとの最大値を計算する。

関数 max は、同じサイズ・チャンネル数・ビット深度を持つ2つの行列の要素ごとの最大値を計算する:

\[\texttt{dst} (I)= \max ( \texttt{src1} (I), \texttt{src2} (I))\]

ここで I は行列要素の多次元インデックスである。マルチチャンネル行列の場合、各チャンネルは独立に処理される。出力行列は src1 と同じサイズおよびビット深度でなければならない。

サポートされる行列のデータ型は CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 である。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.max" である
引数
src11つ目の入力行列。
src2src1 と同じサイズ・同じビット深度の2つ目の入力行列。
参照
min, compare, cmpEQ, cmpGT, cmpGE

◆ min()

GMat cv::gapi::min ( const GMat & src1,
const GMat & src2 )
Python:
cv.gapi.min(src1, src2) -> retval

#include <opencv2/gapi/core.hpp>

2つの行列の要素ごとの最小値を計算する。

関数 min は、同じサイズ・チャンネル数・ビット深度を持つ2つの行列の要素ごとの最小値を計算する:

\[\texttt{dst} (I)= \min ( \texttt{src1} (I), \texttt{src2} (I))\]

ここで I は行列要素の多次元インデックスである。マルチチャンネル行列の場合、各チャンネルは独立に処理される。出力行列は src1 と同じサイズおよびビット深度でなければならない。

サポートされる入力行列のデータ型は CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 である。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.min" である
引数
src11つ目の入力行列。
src2src1 と同じサイズ・同じビット深度の2つ目の入力行列。
参照
max, cmpEQ, cmpLT, cmpLE

◆ normInf()

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

#include <opencv2/gapi/core.hpp>

行列の絶対無限大ノルムを計算する。

このバージョンの normInf は src の絶対無限大ノルムを計算する。

1つの配列の例として関数 \(r(x)= \begin{pmatrix} x \\ 1-x \end{pmatrix}, x \in [-1;1]\) を考える。サンプル値 \(r(-1) = \begin{pmatrix} -1 \\ 2 \end{pmatrix}\) に対する \( L_{\infty} \) ノルムは以下のように計算される

\begin{align*} \| r(-1) \|_{L_\infty} &= \max(|-1|,|2|) = 2 \end{align*}

また \(r(0.5) = \begin{pmatrix} 0.5 \\ 0.5 \end{pmatrix}\) に対する計算は

\begin{align*} \| r(0.5) \|_{L_\infty} &= \max(|0.5|,|0.5|) = 0.5. \end{align*}

サポートされる行列のデータ型は CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 である。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.norminf" である
引数
src入力行列。
参照
normL1, normL2

◆ normL1()

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

#include <opencv2/gapi/core.hpp>

行列の絶対 L1 ノルムを計算する。

このバージョンの normL1 は src の絶対 L1 ノルムを計算する。

1つの配列の例として関数 \(r(x)= \begin{pmatrix} x \\ 1-x \end{pmatrix}, x \in [-1;1]\) を考える。サンプル値 \(r(-1) = \begin{pmatrix} -1 \\ 2 \end{pmatrix}\) に対する \( L_{1} \) ノルムは以下のように計算される

\begin{align*} \| r(-1) \|_{L_1} &= |-1| + |2| = 3 \\ \end{align*}

また \(r(0.5) = \begin{pmatrix} 0.5 \\ 0.5 \end{pmatrix}\) に対する計算は

\begin{align*} \| r(0.5) \|_{L_1} &= |0.5| + |0.5| = 1 \\ \end{align*}

サポートされる行列のデータ型は CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 である。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.norml1" である
引数
src入力行列。
参照
normL2, normInf

◆ normL2()

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

#include <opencv2/gapi/core.hpp>

行列の絶対 L2 ノルムを計算する。

このバージョンの normL2 は src の絶対 L2 ノルムを計算する。

1つの配列の例として関数 \(r(x)= \begin{pmatrix} x \\ 1-x \end{pmatrix}, x \in [-1;1]\) を考える。サンプル値 \(r(-1) = \begin{pmatrix} -1 \\ 2 \end{pmatrix}\) に対する \( L_{2} \) ノルムは以下のように計算される

\begin{align*} \| r(-1) \|_{L_2} &= \sqrt{(-1)^{2} + (2)^{2}} = \sqrt{5} \\ \end{align*}

また \(r(0.5) = \begin{pmatrix} 0.5 \\ 0.5 \end{pmatrix}\) に対する計算は

\begin{align*} \| r(0.5) \|_{L_2} &= \sqrt{(0.5)^{2} + (0.5)^{2}} = \sqrt{0.5} \\ \end{align*}

サポートされる行列のデータ型は CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 である。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.norml2" である
引数
src入力行列。
参照
normL1, normInf

◆ sum()

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

#include <opencv2/gapi/core.hpp>

すべての行列要素の総和を計算する。

関数 sum はチャンネルごとに独立して、すべての行列要素の総和を計算する。

サポートされる行列のデータ型は CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1 である。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.sum" である
引数
src入力行列。
参照
countNonZero, mean, min, max

◆ threshold() [1/2]

std::tuple< GMat, GScalar > cv::gapi::threshold ( const GMat & src,
const GScalar & maxval,
int type )
Python:
cv.gapi.threshold(src, thresh, maxval, type) -> retval
cv.gapi.threshold(src, maxval, type) -> retval

#include <opencv2/gapi/core.hpp>

これは利便性のために提供されるオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。この関数は cv::THRESH_OTSU および cv::THRESH_TRIANGLE を除くすべてのしきい値処理タイプに適用できる

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.thresholdOT" である

◆ threshold() [2/2]

GMat cv::gapi::threshold ( const GMat & src,
const GScalar & thresh,
const GScalar & maxval,
int type )
Python:
cv.gapi.threshold(src, thresh, maxval, type) -> retval
cv.gapi.threshold(src, maxval, type) -> retval

#include <opencv2/gapi/core.hpp>

各行列要素に固定レベルのしきい値処理を適用する。

この関数はシングルチャンネルまたはマルチチャンネルの行列に固定レベルのしきい値処理を適用する。この関数は通常、グレースケール画像から2値(バイナリ)画像を得るため(この目的には cmp 関数群も使用できる)や、ノイズの除去、つまり値が小さすぎる、または大きすぎるピクセルをフィルタリングするために使用される。この関数では数種類のしきい値処理タイプがサポートされている。それらは type 引数によって決まる。

また、特殊な値 cv::THRESH_OTSU または cv::THRESH_TRIANGLE を上記の値のいずれかと組み合わせることができる。これらの場合、関数は大津の手法またはTriangleアルゴリズムを使用して最適なしきい値を決定し、指定された thresh の代わりにそれを使用する。関数はしきい値処理された行列に加えて、計算されたしきい値を返す。大津の手法とTriangleの手法は8ビット行列に対してのみ実装されている。

cv::THRESH_OTSU または cv::THRESH_TRIANGLE フラグの場合のみ、入力画像はシングルチャンネルでなければならない。出力行列は src と同じサイズおよびビット深度でなければならない。

覚え書き
関数のテキストIDは "org.opencv.core.matrixop.threshold" である
引数
src入力行列 (CV_8UC1, CV_8UC3, または CV_32FC1)。
threshしきい値。
maxvalcv::THRESH_BINARY および cv::THRESH_BINARY_INV のしきい値処理タイプで使用する最大値。
typeしきい値処理のタイプ(cv::ThresholdTypes を参照)。
参照
min, max, cmpGT, cmpLE, cmpGE, cmpLT