Function opencv::imgproc::contour_area

source ·
pub fn contour_area(contour: &impl ToInputArray, oriented: bool) -> Result<f64>
Expand description

Calculates a contour area.

The function computes a contour area. Similarly to moments , the area is computed using the Green formula. Thus, the returned area and the number of non-zero pixels, if you draw the contour using draw_contours or fill_poly , can be different. Also, the function will most certainly give a wrong results for contours with self-intersections.

Example:

   vector<Point> contour;
   contour.push_back(Point2f(0, 0));
   contour.push_back(Point2f(10, 0));
   contour.push_back(Point2f(10, 10));
   contour.push_back(Point2f(5, 4));
 
   double area0 = contourArea(contour);
   vector<Point> approx;
   approxPolyDP(contour, approx, 5, true);
   double area1 = contourArea(approx);
 
   cout << "area0 =" << area0 << endl <<
           "area1 =" << area1 << endl <<
           "approx poly vertices" << approx.size() << endl;

§Parameters

  • contour: Input vector of 2D points (contour vertices), stored in std::vector or Mat.
  • oriented: Oriented area flag. If it is true, the function returns a signed area value, depending on the contour orientation (clockwise or counter-clockwise). Using this feature you can determine orientation of a contour by taking the sign of an area. By default, the parameter is false, which means that the absolute value is returned.

§C++ default parameters

  • oriented: false