OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
无匹配项
函数
Graph API:矩阵操作

详细信息说明

函数

GMat cv::gapi::absDiff (const GMat &src1, const GMat &src2)
 计算两个矩阵的逐元素绝对差。
 
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)
 计算两个矩阵的加权和。
 
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)
 计算两个矩阵的逐元素最大值。
 
GMat cv::gapi::min (const GMat &src1, const GMat &src2)
 计算两个矩阵的逐元素最小值。
 
GScalar cv::gapi::normInf (const GMat &src)
 计算矩阵的绝对无穷范数。
 
GScalar cv::gapi::normL1 (const GMat &src)
 计算矩阵的绝对L1范数。
 
GScalar cv::gapi::normL2 (const
 计算矩阵的绝对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>

计算两个矩阵的逐元素绝对差。

函数 absDiff 计算两个大小和深度相同的矩阵的绝对差

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

其中 I 是矩阵元素的多维索引。对于多通道矩阵,每个通道独立处理。输出矩阵的大小和深度必须与输入矩阵相同。

支持的矩阵数据类型为 CV_8UC1CV_8UC3CV_16UC1CV_16SC1CV_32FC1

注意
函数文本 ID 为“org.opencv.core.matrixop.absdiff”
参数
src1第一个输入矩阵。
src2第二个输入矩阵。
另请参阅
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_8UC1CV_8UC3CV_16UC1CV_16SC1CV_32FC1

注意
函数文本 ID 为“org.opencv.core.matrixop.absdiffC”
参数
src输入矩阵。
c要减去的标量。
另请参阅
minmax

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

计算两个矩阵的加权和。

addWeighted 函数计算两个矩阵的加权和,如下所示

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

注意
函数文本 ID 为“org.opencv.core.matrixop.addweighted”
参数
src1第一个输入矩阵。
alpha第一个矩阵元素权重。
src2第二个输入矩阵,大小和通道数与 src1 相同。
beta第二个矩阵元素权重。
gamma添加到每个和中的标量。
ddepth输出矩阵的可选深度。
另请参阅
addsub

◆ 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_8UC1CV_16UC1CV_16SC1CV_32FC1

注意
函数文本 ID 为“org.opencv.core.matrixop.countNonZero”
参数
src输入单通道矩阵。
另请参阅
meanminmax

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

计算图像的积分。

函数按照以下方式为源图像计算一个或多个积分图像

\[\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像素值平方积分图像的所需深度,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>

计算两个矩阵的逐元素最大值。

函数 max 计算大小、通道数和深度均相同的两个矩阵的每个元素的最大值

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

其中 I 是矩阵元素的多维索引。对于多通道矩阵,每个通道会独立处理。输出矩阵的大小和深度必须与 src1 相同。

支持的矩阵数据类型为 CV_8UC1CV_8UC3CV_16UC1CV_16SC1CV_32FC1

注意
函数文本 ID 为“org.opencv.core.matrixop.max”
参数
src1第一个输入矩阵。
src2第二个输入矩阵,其大小和深度与 src1 相同。
另请参阅
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>

计算两个矩阵的逐元素最小值。

函数 min 计算大小、通道数和深度均相同的两个矩阵的每个元素的最小值

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

其中 I 是矩阵元素的多维索引。对于多通道矩阵,每个通道会独立处理。输出矩阵的大小和深度必须与 src1 相同。

支持的输入矩阵数据类型包括 CV_8UC1CV_8UC3CV_16UC1CV_16SC1CV_32FC1

注意
函数文本 ID 为“org.opencv.core.matrixop.min”
参数
src1第一个输入矩阵。
src2第二个输入矩阵,其大小和深度与 src1 相同。
另请参阅
maxcmpEQcmpLTcmpLE
下面是此函数的调用图

◆ normInf()

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

#include <opencv2/gapi/core.hpp>

计算矩阵的绝对无穷范数。

此版本的 normInf 计算 src 的绝对无穷范数。

例如,对于一个数组,考虑函数 \(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_8UC1CV_8UC3CV_16UC1CV_16SC1CV_32FC1

注意
函数文本 ID 为“org.opencv.core.matrixop.norminf”
参数
src输入矩阵。
另请参阅
normL1normL2

◆ normL1()

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

#include <opencv2/gapi/core.hpp>

计算矩阵的绝对L1范数。

此版本的 normL1 计算 src 的绝对 L1 范数。

例如,对于一个数组,考虑函数 \(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_8UC1CV_8UC3CV_16UC1CV_16SC1CV_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 范数。

如以一个数组为例,考虑函数 \(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_8UC1CV_8UC3CV_16UC1CV_16SC1CV_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_8UC1CV_8UC3CV_16UC1CV_16SC1CV_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_OTSUcv::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>

将定值阈值应用到每个矩阵元素。

该函数对单通道或多通道矩阵应用固定电平阈值处理。该函数通常用于从灰度图像中获取双电平(二进制)图像(cmp 函数也可以用于此目的),或者用于去除噪声,即过滤掉值太小或太大的像素。该函数支持多种类型的阈值处理。这些类型由 type 参数确定。

此外,特殊值 cv::THRESH_OTSUcv::THRESH_TRIANGLE 可以与上述值之一结合使用。在这些情况下,该函数使用 Otsu 或 Triangle 算法确定最优阈值,并将其用作指定的 thresh 替代。除了阈值矩阵之外,该函数还返回已计算的阈值。Otsu 和 Triangle 方法仅对 8 位矩阵实现。

cv::THRESH_OTSUcv::THRESH_TRIANGLE 标志的情况下,输入图像应仅为单通道。输出矩阵必须与 src 相同大小和深度。

注意
函数文本 ID 为 "org.opencv.core.matrixop.threshold"
参数
src输入矩阵 (CV_8UC1CV_8UC3CV_32FC1).
thresh阈值。
maxval用于 cv::THRESH_BINARYcv::THRESH_BINARY_INV 阈值处理类型的最大值。
类型阈值类型(请参阅 cv::ThresholdTypes)。
另请参阅
minmaxcmpGTcmpLEcmpGEcmpLT