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

詳細説明

関数

GMat cv::gapi::add (const GMat &src1, const GMat &src2, int ddepth=-1)
 2つの行列の要素ごとの和を計算する。
 
GMat cv::gapi::addC (const GMat &src1, const GScalar &c, int ddepth=-1)
 行列と指定したスカラの要素ごとの和を計算する。
 
GMat cv::gapi::addC (const GScalar &c, const GMat &src1, int ddepth=-1)
 これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは受け取る引数のみが異なる。
 
std::tuple< GMat, GMatcv::gapi::cartToPolar (const GMat &x, const GMat &y, bool angleInDegrees=false)
 2次元ベクトルの大きさと角度を計算する。
 
GMat cv::gapi::div (const GMat &src1, const GMat &src2, double scale, int ddepth=-1)
 2つの行列の要素ごとの除算を行う。
 
GMat cv::gapi::divC (const GMat &src, const GScalar &divisor, double scale, int ddepth=-1)
 行列をスカラで除算する。
 
GMat cv::gapi::divRC (const GScalar &divident, const GMat &src, double scale, int ddepth=-1)
 スカラを行列で除算する。
 
GMat cv::gapi::mask (const GMat &src, const GMat &mask)
 行列にマスクを適用する。
 
GScalar cv::gapi::mean (const GMat &src)
 行列要素の平均(平均値)を計算する。
 
GMat cv::gapi::mul (const GMat &src1, const GMat &src2, double scale=1.0, int ddepth=-1)
 2つの行列の要素ごとのスケール積を計算する。
 
GMat cv::gapi::mulC (const GMat &src, const GScalar &multiplier, int ddepth=-1)
 これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは受け取る引数のみが異なる。
 
GMat cv::gapi::mulC (const GMat &src, double multiplier, int ddepth=-1)
 行列にスカラを乗算する。
 
GMat cv::gapi::mulC (const GScalar &multiplier, const GMat &src, int ddepth=-1)
 これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは受け取る引数のみが異なる。
 
GMat cv::gapi::phase (const GMat &x, const GMat &y, bool angleInDegrees=false)
 2次元ベクトルの回転角を計算する。
 
std::tuple< GMat, GMatcv::gapi::polarToCart (const GMat &magnitude, const GMat &angle, bool angleInDegrees=false)
 大きさと角度から2次元ベクトルのx座標とy座標を計算する。
 
GMat cv::gapi::sqrt (const GMat &src)
 配列要素の平方根を計算する。
 
GMat cv::gapi::sub (const GMat &src1, const GMat &src2, int ddepth=-1)
 2つの行列の要素ごとの差を計算する。
 
GMat cv::gapi::subC (const GMat &src, const GScalar &c, int ddepth=-1)
 行列と指定したスカラの要素ごとの差を計算する。
 
GMat cv::gapi::subRC (const GScalar &c, const GMat &src, int ddepth=-1)
 指定したスカラと行列の要素ごとの差を計算する。
 

関数詳解

◆ add()

GMat cv::gapi::add ( const GMat & src1,
const GMat & src2,
int ddepth = -1 )
Python:
cv.gapi.add(src1, src2[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

2つの行列の要素ごとの和を計算する。

add 関数は、同じサイズ・同じチャンネル数の2つの行列の和を計算する:

\[\texttt{dst}(I) = \texttt{saturate} ( \texttt{src1}(I) + \texttt{src2}(I)) \quad \texttt{if mask}(I) \ne0\]

この関数は行列式で置き換えられる:

\[\texttt{dst} = \texttt{src1} + \texttt{src2}\]

入力行列と出力行列はすべて同じビット深度でも異なるビット深度でもよい。例えば、16ビット符号なし行列と8ビット符号付き行列を加算し、その和を32ビット浮動小数点行列として格納できる。出力行列のビット深度は ddepth 引数によって決まる。src1.depth() == src2.depth() の場合、ddepth はデフォルトの -1 に設定できる。この場合、出力行列は入力行列と同じビット深度を持つ。

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

覚え書き
関数のテキストID は "org.opencv.core.math.add" である
引数
src11つ目の入力行列。
src22つ目の入力行列。
ddepth出力行列のビット深度(省略可能)。
参照
sub, addWeighted

◆ addC() [1/2]

GMat cv::gapi::addC ( const GMat & src1,
const GScalar & c,
int ddepth = -1 )
Python:
cv.gapi.addC(src1, c[, ddepth]) -> retval
cv.gapi.addC(c, src1[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

行列と与えられたスカラーの要素ごとの和を計算する。

addC 関数は、与えられたスカラー値を行列の各要素に加算する。この関数は行列式で置き換えられる:

\f[\texttt{dst} =  \texttt{src1} + \texttt{c}\f]

出力行列のビット深度は ddepth 引数によって決まる。ddepth がデフォルトの -1 に設定されている場合、出力行列のビット深度は入力行列のビット深度と同じになる。行列はシングルチャンネルでもマルチチャンネルでもよい。出力行列は入力行列と同じサイズ・同じチャンネル数でなければならない。

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

覚え書き
関数のテキストID は "org.opencv.core.math.addC" である
引数
src11つ目の入力行列。
c加算するスカラー値。
ddepth出力行列のビット深度(省略可能)。
参照
sub, addWeighted

◆ addC() [2/2]

GMat cv::gapi::addC ( const GScalar & c,
const GMat & src1,
int ddepth = -1 )
Python:
cv.gapi.addC(src1, c[, ddepth]) -> retval
cv.gapi.addC(c, src1[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

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

◆ cartToPolar()

std::tuple< GMat, GMat > cv::gapi::cartToPolar ( const GMat & x,
const GMat & y,
bool angleInDegrees = false )
Python:
cv.gapi.cartToPolar(x, y[, angleInDegrees]) -> retval

#include <opencv2/gapi/core.hpp>

2次元ベクトルの大きさと角度を計算する。

cartToPolar 関数は、すべての2Dベクトル (x(I),y(I)) について大きさ・角度のいずれか、または両方を計算する:

\[\begin{array}{l} \texttt{magnitude} (I)= \sqrt{\texttt{x}(I)^2+\texttt{y}(I)^2} , \\ \texttt{angle} (I)= \texttt{atan2} ( \texttt{y} (I), \texttt{x} (I))[ \cdot180 / \pi ] \end{array}\]

角度は約0.3度の精度で計算される。点 (0,0) については、角度は0に設定される。

1番目の出力は入力 x と同じサイズ・同じビット深度の大きさの行列である。2番目の出力は x と同じサイズ・同じビット深度の角度の行列である。角度はラジアン (0 から 2*Pi) または度 (0 から 360 度) で表される。

覚え書き
関数のテキストID は "org.opencv.core.math.cartToPolar" である
引数
xCV_32FC1 型のx座標の行列。
yCV_32FC1 型のy座標の配列。
angleInDegrees角度をラジアンで測定するか(デフォルト)、度で測定するかを示すフラグ。
参照
polarToCart

◆ div()

GMat cv::gapi::div ( const GMat & src1,
const GMat & src2,
double scale,
int ddepth = -1 )
Python:
cv.gapi.div(src1, src2, scale[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

2つの行列の要素ごとの除算を行う。

この関数は一方の行列を他方の行列で除算する:

\[\texttt{dst(I) = saturate(src1(I)*scale/src2(I))}\]

整数型では src2(I) がゼロのとき、dst(I) もゼロになる。浮動小数点の場合は (IEEEに従い) Inf/NaN を返す。

マルチチャンネル行列の各チャンネルは独立に処理される。行列はシングルチャンネルでもマルチチャンネルでもよい。出力行列は src と同じサイズ・同じビット深度でなければならない。

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

覚え書き
関数のテキストID は "org.opencv.core.math.div" である
引数
src11つ目の入力行列。
src2src1 と同じサイズ・同じビット深度の2つ目の入力行列。
scaleスカラ係数。
ddepth出力行列の省略可能なビット深度。src1.depth() == src2.depth() のときのみ -1 を渡せる。
参照
mul, add, sub

◆ divC()

GMat cv::gapi::divC ( const GMat & src,
const GScalar & divisor,
double scale,
int ddepth = -1 )
Python:
cv.gapi.divC(src, divisor, scale[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

行列をスカラーで除算する。

divC 関数は、行列 src の各要素を与えられたスカラー値で除算する:

\[\texttt{dst(I) = saturate(src(I)*scale/divisor)}\]

除数がゼロのとき、dst(I) もゼロになる。マルチチャンネル行列の各チャンネルは独立に処理される。行列はシングルチャンネルでもマルチチャンネルでもよい。出力行列は src と同じサイズ・同じビット深度でなければならない。

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

覚え書き
関数のテキストID は "org.opencv.core.math.divC" である
引数
src入力行列。
divisor割られる数。
ddepth出力行列の省略可能なビット深度。-1 の場合、出力行列のビット深度は入力行列のビット深度と同じになる。
scaleスケール係数。
参照
add, sub, div, addWeighted

◆ divRC()

GMat cv::gapi::divRC ( const GScalar & divident,
const GMat & src,
double scale,
int ddepth = -1 )
Python:
cv.gapi.divRC(divident, src, scale[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

スカラーを行列で除算する。

divRC 関数は、与えられたスカラーを行列 src の各要素で除算し、その結果を src と同じサイズ・同じ型の新しい行列に保持する:

\[\texttt{dst(I) = saturate(divident*scale/src(I))}\]

src(I) がゼロのとき、dst(I) もゼロになる。マルチチャンネル行列の各チャンネルは独立に処理される。行列はシングルチャンネルでもマルチチャンネルでもよい。出力行列は src と同じサイズ・同じビット深度でなければならない。

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

覚え書き
関数のテキストID は "org.opencv.core.math.divRC" である
引数
src入力行列。
divident割られる数。
ddepth出力行列の省略可能なビット深度。-1 の場合、出力行列のビット深度は入力行列のビット深度と同じになる。
scaleスケール係数
参照
add, sub, div, addWeighted

◆ mask()

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

#include <opencv2/gapi/core.hpp>

行列にマスクを適用する。

mask 関数は、マスク行列の対応するピクセル値が true に設定されている場合は与えられた行列の値を設定し、そうでない場合は行列の値を 0 に設定する。

サポートされている src 行列のデータ型は CV_8UC1, CV_16SC1, CV_16UC1 である。サポートされているマスクのデータ型は CV_8UC1 である。

覚え書き
関数のテキストID は "org.opencv.core.math.mask" である
引数
src入力行列。
mask入力マスク行列。

◆ mean()

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

#include <opencv2/gapi/core.hpp>

行列要素の平均 (mean) を計算する。

mean 関数は、チャンネルごとに独立に行列要素の平均値 M を計算し、それを返す。

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

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

◆ mul()

GMat cv::gapi::mul ( const GMat & src1,
const GMat & src2,
double scale = 1.0,
int ddepth = -1 )
Python:
cv.gapi.mul(src1, src2[, scale[, ddepth]]) -> retval

#include <opencv2/gapi/core.hpp>

2つの行列の要素ごとのスケール積を計算する。

mul 関数は、2つの行列の要素ごとの積を計算する:

\[\texttt{dst} (I)= \texttt{saturate} ( \texttt{scale} \cdot \texttt{src1} (I) \cdot \texttt{src2} (I))\]

src1.depth() == src2.depth() の場合、ddepth はデフォルトの -1 に設定できる。この場合、出力行列は入力行列と同じビット深度を持つ。行列はシングルチャンネルでもマルチチャンネルでもよい。出力行列は入力行列と同じサイズでなければならない。

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

覚え書き
関数のテキストID は "org.opencv.core.math.mul" である
引数
src11つ目の入力行列。
src2src1 と同じサイズ・同じビット深度の2番目の入力行列。
scale省略可能なスケール係数。
ddepth出力行列のビット深度(省略可能)。
参照
add, sub, div, addWeighted

◆ mulC() [1/3]

GMat cv::gapi::mulC ( const GMat & src,
const GScalar & multiplier,
int ddepth = -1 )
Python:
cv.gapi.mulC(src, multiplier[, ddepth]) -> retval
cv.gapi.mulC(multiplier, src[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

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

◆ mulC() [2/3]

GMat cv::gapi::mulC ( const GMat & src,
double multiplier,
int ddepth = -1 )
Python:
cv.gapi.mulC(src, multiplier[, ddepth]) -> retval
cv.gapi.mulC(multiplier, src[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

行列をスカラーで乗算する。

mulC 関数は、行列 src の各要素を与えられたスカラー値で乗算する:

\[\texttt{dst} (I)= \texttt{saturate} ( \texttt{src1} (I) \cdot \texttt{multiplier} )\]

行列はシングルチャンネルでもマルチチャンネルでもよい。出力行列は src と同じサイズでなければならない。

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

覚え書き
関数のテキストID は "org.opencv.core.math.mulC" である
引数
src入力行列。
multiplier乗算する係数。
ddepth出力行列の省略可能なビット深度。-1 の場合、出力行列のビット深度は入力行列のビット深度と同じになる。
参照
add, sub, div, addWeighted

◆ mulC() [3/3]

GMat cv::gapi::mulC ( const GScalar & multiplier,
const GMat & src,
int ddepth = -1 )
Python:
cv.gapi.mulC(src, multiplier[, ddepth]) -> retval
cv.gapi.mulC(multiplier, src[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

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

◆ phase()

GMat cv::gapi::phase ( const GMat & x,
const GMat & y,
bool angleInDegrees = false )
Python:
cv.gapi.phase(x, y[, angleInDegrees]) -> retval

#include <opencv2/gapi/core.hpp>

2次元ベクトルの回転角を計算する。

cv::phase 関数は、x と y の対応する要素から形成される各2Dベクトルの回転角度を計算する:

\[\texttt{angle} (I) = \texttt{atan2} ( \texttt{y} (I), \texttt{x} (I))\]

角度推定の精度は約0.3度である。x(I)=y(I)=0 のとき、対応する angle(I) は0に設定される。

引数
x2Dベクトルの x 座標からなる入力浮動小数点配列。
y2Dベクトルの y 座標からなる入力配列。x と同じサイズおよび同じ型である必要がある。
angleInDegreestrue の場合、関数は角度を度単位で計算する。それ以外の場合はラジアン単位で計算される。
戻り値
ベクトル角度の配列。x と同じサイズ・同じ型を持つ。

◆ polarToCart()

std::tuple< GMat, GMat > cv::gapi::polarToCart ( const GMat & magnitude,
const GMat & angle,
bool angleInDegrees = false )
Python:
cv.gapi.polarToCart(magnitude, angle[, angleInDegrees]) -> retval

#include <opencv2/gapi/core.hpp>

2次元ベクトルの大きさと角度から、その x 座標と y 座標を計算する。

polarToCart 関数は、magnitude と angle の対応する要素で表される各2Dベクトルのデカルト座標を計算する:

\[\begin{array}{l} \texttt{x} (I) = \texttt{magnitude} (I) \cos ( \texttt{angle} (I)) \\ \texttt{y} (I) = \texttt{magnitude} (I) \sin ( \texttt{angle} (I)) \\ \end{array}\]

推定される座標の相対精度は約1e-6である。

1番目の出力は2Dベクトルのx座標の行列である。2番目の出力は2Dベクトルのy座標の行列である。どちらの出力も入力行列と同じサイズ・同じビット深度でなければならない。

覚え書き
関数のテキストID は "org.opencv.core.math.polarToCart" である
引数
magnitude2Dベクトルの大きさを表す入力浮動小数点 CV_32FC1 行列 (1xN);
angle2Dベクトルの角度を表す入力浮動小数点 CV_32FC1 行列 (1xN)。
angleInDegreestrue の場合、入力角度は度単位で測定される。それ以外の場合はラジアン単位で測定される。
参照
cartToPolar, exp, log, pow, sqrt

◆ sqrt()

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

#include <opencv2/gapi/core.hpp>

配列要素の平方根を計算する。

cv::gapi::sqrt 関数は、各入力配列要素の平方根を計算する。マルチチャンネル配列の場合、各チャンネルは独立に処理される。精度は組み込みの std::sqrt とほぼ同じである。

引数
src入力の浮動小数点配列。
戻り値
srcと同じサイズかつ同じ型の出力配列。

◆ sub()

GMat cv::gapi::sub ( const GMat & src1,
const GMat & src2,
int ddepth = -1 )
Python:
cv.gapi.sub(src1, src2[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

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

関数 sub は、両方の行列が同じサイズかつ同じチャンネル数を持つ場合に、2つの行列の差を計算する:

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

この関数は行列式で置き換えられる:

\[\texttt{dst} = \texttt{src1} - \texttt{src2}\]

入力行列と出力行列は、すべて同じビット深度でも異なるビット深度でもよい。例えば、2つの8ビット符号なし行列を減算し、その結果を16ビット符号付き行列として格納できる。出力行列のビット深度は ddepth 引数によって決まる。src1.depth() == src2.depth() の場合、ddepth はデフォルトの -1 に設定できる。この場合、出力行列は入力行列と同じビット深度になる。行列はシングルチャンネルでもマルチチャンネルでもよい。

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

覚え書き
関数のテキストIDは "org.opencv.core.math.sub" である
引数
src11つ目の入力行列。
src22つ目の入力行列。
ddepth出力行列のビット深度(省略可能)。
参照
add, addC

◆ subC()

GMat cv::gapi::subC ( const GMat & src,
const GScalar & c,
int ddepth = -1 )
Python:
cv.gapi.subC(src, c[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

行列と指定したスカラとの要素ごとの差を計算する。

この関数は行列式で置き換えられる:

\[\texttt{dst} = \texttt{src} - \texttt{c}\]

出力行列のビット深度は ddepth 引数によって決まる。ddepth がデフォルトの -1 に設定されている場合、出力行列のビット深度は入力行列のビット深度と同じになる。行列はシングルチャンネルでもマルチチャンネルでもよい。出力行列は src と同じサイズでなければならない。

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

覚え書き
関数のテキストIDは "org.opencv.core.math.subC" である
引数
src1つ目の入力行列。
c減算するスカラー値。
ddepth出力行列のビット深度(省略可能)。
参照
add, addC, subRC

◆ subRC()

GMat cv::gapi::subRC ( const GScalar & c,
const GMat & src,
int ddepth = -1 )
Python:
cv.gapi.subRC(c, src[, ddepth]) -> retval

#include <opencv2/gapi/core.hpp>

指定したスカラと行列との要素ごとの差を計算する。

この関数は行列式で置き換えられる:

\[\texttt{dst} = \texttt{c} - \texttt{src}\]

出力行列のビット深度は ddepth 引数によって決まる。ddepth がデフォルトの -1 に設定されている場合、出力行列のビット深度は入力行列のビット深度と同じになる。行列はシングルチャンネルでもマルチチャンネルでもよい。出力行列は src と同じサイズでなければならない。

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

覚え書き
関数のテキストIDは "org.opencv.core.math.subRC" である
引数
c減算される側のスカラー値。
src減算する入力行列。
ddepth出力行列のビット深度(省略可能)。
参照
add, addC, subC