OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
圖 API: 數學運算

詳細描述

函式

GMat cv::gapi::add (const GMat &src1, const GMat &src2, int ddepth=-1)
 計算兩個矩陣的逐元素和。
 
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)
 Calculates the magnitude and angle of 2D vectors.
 
GMat cv::gapi::div (const GMat &src1, const GMat &src2, double scale, int ddepth=-1)
 執行兩個矩陣的逐元素除法。
 
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)
 計算兩個矩陣的逐元素縮放積。
 
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)
 計算二維向量的旋轉角度。
 
std::tuple< GMat, GMatcv::gapi::polarToCart (const GMat &magnitude, const GMat &angle, bool angleInDegrees=false)
 根據二維向量的幅度和角度計算其x和y座標。
 
GMat cv::gapi::sqrt (const GMat &src)
 計算陣列元素的平方根。
 
GMat cv::gapi::sub (const GMat &src1, const GMat &src2, int ddepth=-1)
 計算兩個矩陣的逐元素差值。
 
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>

計算兩個矩陣的逐元素和。

`add` 函式計算兩個相同大小、相同通道數矩陣的和。

\[\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"
引數
src1第一個輸入矩陣。
src2第二個輸入矩陣。
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"
引數
src1第一個輸入矩陣。
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>

Calculates the magnitude and angle of 2D vectors.

`cartToPolar` 函式計算每個二維向量 (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。

第一個輸出是與輸入x具有相同大小和深度的幅值矩陣。第二個輸出是與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>

執行兩個矩陣的逐元素除法。

該函式將一個矩陣除以另一個矩陣。

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

對於整數型別,當 `src2(I)` 為零時,`dst(I)` 也將為零。浮點數情況返回 Inf/NaN(根據IEEE標準)。

多通道矩陣的不同通道獨立處理。矩陣可以是單通道或多通道。輸出矩陣必須與 `src` 具有相同的大小和深度。

支援的矩陣資料型別有 CV_8UC1, CV_8UC3, CV_16UC1, CV_16SC1, CV_32FC1

注意
函式的文字ID為 "org.opencv.core.math.div"
引數
src1第一個輸入矩陣。
src2與 `src1` 具有相同大小和深度的第二個輸入矩陣。
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)}\]

當 `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` 函式在 `mask` 矩陣中對應畫素值為 true 時,將給定矩陣的值設定為該畫素值,否則將矩陣值設定為0。

支援的 `src` 矩陣資料型別有 CV_8UC1, CV_16SC1, CV_16UC1。支援的 `mask` 資料型別是 CV_8UC1

注意
函式的文字ID為 "org.opencv.core.math.mask"
引數
src輸入矩陣。
mask輸入 `mask` 矩陣。

◆ mean()

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

#include <opencv2/gapi/core.hpp>

計算矩陣元素的平均值。

`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>

計算兩個矩陣的逐元素縮放積。

`mul` 函式計算兩個矩陣的逐元素乘積。

\[\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"
引數
src1第一個輸入矩陣。
src2與 `src1` 具有相同大小和相同深度的第二個輸入矩陣。
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>

計算二維向量的旋轉角度。

`cv::phase` 函式計算由 x 和 y 的對應元素形成的每個二維向量的旋轉角度。

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

角度估計精度約為0.3度。當 x(I)=y(I)=0 時,相應的 `angle(I)` 設定為0。

引數
x輸入的二維向量 x 座標浮點陣列。
y輸入的二維向量 y 座標陣列;它必須與 x 具有相同的大小和型別。
angleInDegrees如果為 true,函式將計算以度為單位的角度,否則以弧度為單位。
返回
向量角度陣列;它與 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>

根據二維向量的幅度和角度計算其x和y座標。

`polarToCart` 函式計算由幅值和角度的相應元素表示的每個二維向量的笛卡爾座標。

\[\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。

第一個輸出是二維向量 x 座標矩陣。第二個輸出是二維向量 y 座標矩陣。兩個輸出都必須與輸入矩陣具有相同的大小和深度。

注意
函式的文字ID為 "org.opencv.core.math.polarToCart"
引數
magnitude輸入浮點 CV_32FC1 矩陣(1xN),表示二維向量的幅值;
angle輸入浮點 CV_32FC1 矩陣(1xN),表示二維向量的角度。
angleInDegrees如果為 true,則輸入角度以度為單位測量,否則以弧度為單位測量。
另請參見
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>

計算兩個矩陣的逐元素差值。

`sub` 函式計算兩個矩陣之間的差值,當兩個矩陣具有相同的大小和通道數時。

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

該函式可以被矩陣表示式替代:

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

輸入矩陣和輸出矩陣可以具有相同或不同的深度。例如,您可以從兩個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"
引數
src1第一個輸入矩陣。
src2第二個輸入矩陣。
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"
引數
src第一個輸入矩陣。
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