OpenCV  4.1.0 Open Source Computer Vision

struct returned by cv::moments More...

#include <opencv2/core/types.hpp>

Public Member Functions

Moments ()
the default constructor

Moments (double m00, double m10, double m01, double m20, double m11, double m02, double m30, double m21, double m12, double m03)
the full constructor

Public Attributes

spatial moments
double m00

double m10

double m01

double m20

double m11

double m02

double m30

double m21

double m12

double m03

central moments
double mu20

double mu11

double mu02

double mu30

double mu21

double mu12

double mu03

central normalized moments
double nu20

double nu11

double nu02

double nu30

double nu21

double nu12

double nu03

Detailed Description

struct returned by cv::moments

The spatial moments $$\texttt{Moments::m}_{ji}$$ are computed as:

$\texttt{m} _{ji}= \sum _{x,y} \left ( \texttt{array} (x,y) \cdot x^j \cdot y^i \right )$

The central moments $$\texttt{Moments::mu}_{ji}$$ are computed as:

$\texttt{mu} _{ji}= \sum _{x,y} \left ( \texttt{array} (x,y) \cdot (x - \bar{x} )^j \cdot (y - \bar{y} )^i \right )$

where $$(\bar{x}, \bar{y})$$ is the mass center:

$\bar{x} = \frac{\texttt{m}_{10}}{\texttt{m}_{00}} , \; \bar{y} = \frac{\texttt{m}_{01}}{\texttt{m}_{00}}$

The normalized central moments $$\texttt{Moments::nu}_{ij}$$ are computed as:

$\texttt{nu} _{ji}= \frac{\texttt{mu}_{ji}}{\texttt{m}_{00}^{(i+j)/2+1}} .$

Note
$$\texttt{mu}_{00}=\texttt{m}_{00}$$, $$\texttt{nu}_{00}=1$$ $$\texttt{nu}_{10}=\texttt{mu}_{10}=\texttt{mu}_{01}=\texttt{mu}_{10}=0$$ , hence the values are not stored.

The moments of a contour are defined in the same way but computed using the Green's formula (see http://en.wikipedia.org/wiki/Green_theorem). So, due to a limited raster resolution, the moments computed for a contour are slightly different from the moments computed for the same rasterized contour.

Note
Since the contour moments are computed using Green formula, you may get seemingly odd results for contours with self-intersections, e.g. a zero area (m00) for butterfly-shaped contours.

Constructor & Destructor Documentation

 cv::Moments::Moments ( )

the default constructor

 cv::Moments::Moments ( double m00, double m10, double m01, double m20, double m11, double m02, double m30, double m21, double m12, double m03 )

the full constructor

Member Data Documentation

 double cv::Moments::m00
 double cv::Moments::m01
 double cv::Moments::m02
 double cv::Moments::m03
 double cv::Moments::m10
 double cv::Moments::m11
 double cv::Moments::m12
 double cv::Moments::m20
 double cv::Moments::m21
 double cv::Moments::m30
 double cv::Moments::mu02
 double cv::Moments::mu03
 double cv::Moments::mu11
 double cv::Moments::mu12
 double cv::Moments::mu20
 double cv::Moments::mu21
 double cv::Moments::mu30
 double cv::Moments::nu02
 double cv::Moments::nu03
 double cv::Moments::nu11
 double cv::Moments::nu12
 double cv::Moments::nu20
 double cv::Moments::nu21
 double cv::Moments::nu30

The documentation for this class was generated from the following file: