|
(Note that these are not member functions.)
|
|
MatExpr | operator+ (const Mat &a, const Mat &b) |
|
MatExpr | operator+ (const Mat &a, const Scalar &s) |
|
MatExpr | operator+ (const Scalar &s, const Mat &a) |
|
MatExpr | operator+ (const MatExpr &e, const Mat &m) |
|
MatExpr | operator+ (const Mat &m, const MatExpr &e) |
|
MatExpr | operator+ (const MatExpr &e, const Scalar &s) |
|
MatExpr | operator+ (const Scalar &s, const MatExpr &e) |
|
MatExpr | operator+ (const MatExpr &e1, const MatExpr &e2) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator+ (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator+ (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator- (const Mat &a, const Mat &b) |
|
MatExpr | operator- (const Mat &a, const Scalar &s) |
|
MatExpr | operator- (const Scalar &s, const Mat &a) |
|
MatExpr | operator- (const MatExpr &e, const Mat &m) |
|
MatExpr | operator- (const Mat &m, const MatExpr &e) |
|
MatExpr | operator- (const MatExpr &e, const Scalar &s) |
|
MatExpr | operator- (const Scalar &s, const MatExpr &e) |
|
MatExpr | operator- (const MatExpr &e1, const MatExpr &e2) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator- (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator- (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator- (const Mat &m) |
|
MatExpr | operator- (const MatExpr &e) |
|
MatExpr | operator* (const Mat &a, const Mat &b) |
|
MatExpr | operator* (const Mat &a, double s) |
|
MatExpr | operator* (double s, const Mat &a) |
|
MatExpr | operator* (const MatExpr &e, const Mat &m) |
|
MatExpr | operator* (const Mat &m, const MatExpr &e) |
|
MatExpr | operator* (const MatExpr &e, double s) |
|
MatExpr | operator* (double s, const MatExpr &e) |
|
MatExpr | operator* (const MatExpr &e1, const MatExpr &e2) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator* (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator* (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator/ (const Mat &a, const Mat &b) |
|
MatExpr | operator/ (const Mat &a, double s) |
|
MatExpr | operator/ (double s, const Mat &a) |
|
MatExpr | operator/ (const MatExpr &e, const Mat &m) |
|
MatExpr | operator/ (const Mat &m, const MatExpr &e) |
|
MatExpr | operator/ (const MatExpr &e, double s) |
|
MatExpr | operator/ (double s, const MatExpr &e) |
|
MatExpr | operator/ (const MatExpr &e1, const MatExpr &e2) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator/ (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator/ (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator< (const Mat &a, const Mat &b) |
|
MatExpr | operator< (const Mat &a, double s) |
|
MatExpr | operator< (double s, const Mat &a) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator< (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator< (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator<= (const Mat &a, const Mat &b) |
|
MatExpr | operator<= (const Mat &a, double s) |
|
MatExpr | operator<= (double s, const Mat &a) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator<= (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator<= (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator== (const Mat &a, const Mat &b) |
|
MatExpr | operator== (const Mat &a, double s) |
|
MatExpr | operator== (double s, const Mat &a) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator== (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator== (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator!= (const Mat &a, const Mat &b) |
|
MatExpr | operator!= (const Mat &a, double s) |
|
MatExpr | operator!= (double s, const Mat &a) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator!= (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator!= (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator>= (const Mat &a, const Mat &b) |
|
MatExpr | operator>= (const Mat &a, double s) |
|
MatExpr | operator>= (double s, const Mat &a) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator>= (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator>= (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator> (const Mat &a, const Mat &b) |
|
MatExpr | operator> (const Mat &a, double s) |
|
MatExpr | operator> (double s, const Mat &a) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator> (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator> (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator& (const Mat &a, const Mat &b) |
|
MatExpr | operator& (const Mat &a, const Scalar &s) |
|
MatExpr | operator& (const Scalar &s, const Mat &a) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator& (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator& (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator| (const Mat &a, const Mat &b) |
|
MatExpr | operator| (const Mat &a, const Scalar &s) |
|
MatExpr | operator| (const Scalar &s, const Mat &a) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator| (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator| (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator^ (const Mat &a, const Mat &b) |
|
MatExpr | operator^ (const Mat &a, const Scalar &s) |
|
MatExpr | operator^ (const Scalar &s, const Mat &a) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator^ (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | operator^ (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | operator~ (const Mat &m) |
|
MatExpr | min (const Mat &a, const Mat &b) |
|
MatExpr | min (const Mat &a, double s) |
|
MatExpr | min (double s, const Mat &a) |
|
template<typename _Tp , int m, int n> |
static MatExpr | min (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | min (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | max (const Mat &a, const Mat &b) |
|
MatExpr | max (const Mat &a, double s) |
|
MatExpr | max (double s, const Mat &a) |
|
template<typename _Tp , int m, int n> |
static MatExpr | max (const Mat &a, const Matx< _Tp, m, n > &b) |
|
template<typename _Tp , int m, int n> |
static MatExpr | max (const Matx< _Tp, m, n > &a, const Mat &b) |
|
MatExpr | abs (const Mat &m) |
| Calculates an absolute value of each matrix element.
|
|
MatExpr | abs (const MatExpr &e) |
|
Matrix expression representation This is a list of implemented matrix operations that can be combined in arbitrary complex expressions (here A, B stand for matrices ( Mat ), s for a scalar ( Scalar ), alpha for a real-valued scalar ( double )):
- Addition, subtraction, negation:
A+B
, A-B
, A+s
, A-s
, s+A
, s-A
, -A
- Scaling:
A*alpha
- Per-element multiplication and division:
A.mul(B)
, A/B
, alpha/A
- Matrix multiplication:
A*B
- Transposition:
A.t()
(means AT)
- Matrix inversion and pseudo-inversion, solving linear systems and least-squares problems:
A.inv([method]) (~ A<sup>-1</sup>)
, A.inv([method])*B (~ X: AX=B)
- Comparison:
A cmpop B
, A cmpop alpha
, alpha cmpop A
, where cmpop is one of >
, >=
, ==
, !=
, <=
, <
. The result of comparison is an 8-bit single channel mask whose elements are set to 255 (if the particular element or pair of elements satisfy the condition) or 0.
- Bitwise logical operations:
A logicop B
, A logicop s
, s logicop A
, ~A
, where logicop is one of &
, |
, ^
.
- Element-wise minimum and maximum:
min(A, B)
, min(A, alpha)
, max(A, B)
, max(A, alpha)
- Element-wise absolute value:
abs(A)
- Cross-product, dot-product:
A.cross(B)
, A.dot(B)
- Any function of matrix or matrices and scalars that returns a matrix or a scalar, such as norm, mean, sum, countNonZero, trace, determinant, repeat, and others.
- Matrix initializers ( Mat::eye(), Mat::zeros(), Mat::ones() ), matrix comma-separated initializers, matrix constructors and operators that extract sub-matrices (see Mat description).
- Mat_<destination_type>() constructors to cast the result to the proper type.
- Note
- Comma-separated initializers and probably some other operations may require additional explicit Mat() or Mat_<T>() constructor calls to resolve a possible ambiguity.
Here are examples of matrix expressions:
Mat sharpened = img*(1+amount) + blurred*(-amount);
img.copyTo(sharpened, lowContrastMask);
MatExpr abs(const Mat &m)
Calculates an absolute value of each matrix element.
MatExpr inv(int method=DECOMP_LU) const
n-dimensional dense array class
Definition: mat.hpp:811
Mat diag(int d=0) const
Extracts a diagonal from a matrix.
UMatData * u
interaction with UMat
Definition: mat.hpp:2157
static CV_NODISCARD_STD MatExpr eye(int rows, int cols, int type)
Returns an identity matrix of the specified size and type.
MatExpr t() const
Transposes a matrix.
Singular Value Decomposition.
Definition: core.hpp:2725
@ DECOMP_CHOLESKY
Definition: base.hpp:143
Size2i Size
Definition: types.hpp:370
void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT)
Blurs an image using a Gaussian filter.
double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type)
Applies a fixed-level threshold to each array element.